mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-01 20:05:30 +00:00
The current movs emulation has issues: 1. it use gva to get/put data. 2. it only support src and dst operand are memory which does not apply to our case (one of them should be mmio and triggers EPT voilation). This patch fix the issue by: 1. convert the address from gva to hva before access it. 2. handle mmio emulation. Also fix the issue introduced by previous instruction reshuffle patchset: 1. the desc validation should be only applied to none-64bit mode. 2. gva2gpa should be given correct guest virtual address. Specailly for movs, we cache the dst gpa if the check during movs decoding success. And use it directly during movs emulation. Tracked-On: #1207 Signed-off-by: Yin Fengwei <fengwei.yin@intel.com> Tested-by: Qi Yadong <yadog.qi@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com> |
||
---|---|---|
.. | ||
x86 |