mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-02 20:35:32 +00:00
Based on SDM Vol2 the monitor uses the RAX register to setup the address monitored by HW. The mwait uses the rax/rcx as the hints that the process will enter. It is incorrect that the same value is used for monitor/mwait. The ecx in mwait specifies the optional externsions. At the same time it needs to check whether the the value of monitored addr is already expected before entering mwait. Otherwise it will have possible lockup. V1->V2: Add the asm wrappper of monitor/mwait to avoid the mixed usage of inline assembly in wait_sync_change v2-v3: Remove the unnecessary line break in asm_monitor/asm_mwait. Follow Fei's comment to remove the mwait ecx hint setting that treats the interrupt as break event. It only needs to check whether the value of psync_change is already expected. Tracked-On: #3442 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Reviewed-by: Yin Fengwei <fengwei.yin@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com> |
||
---|---|---|
.. | ||
x86 |