Files
acrn-hypervisor/hypervisor/arch/x86
Binbin Wu 2fd6e119ca hv: vmcall: hv should not change guest RAX vmcall is undefined
HV passes the return value of vmcall by register RAX unconditionally.
However, if the vmcall is undefined for a guest, RAX value of guest vcpu
should not be changed.

According to SDM Vol. 3C 30-9, VMCALL is allowed from any CPL in guest.
VMCALL is NOT allowed from  CPL > 0 in vmx root mode.
ACRN hypervisor doesn't call VMCALL in vmx root mode, though.

In current code, ACRN also deny VMCALL from CPL > 0 in guest.
So for this case, #GP will not be injected, instead, modify the RAX to
notify the return value.

Tracked-On: #2405
Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-02-18 11:56:42 +08:00
..
2018-12-19 09:07:14 +08:00
2018-11-13 16:28:58 +08:00
2019-02-01 15:54:55 +08:00
2019-01-21 18:03:31 +08:00
2019-01-21 18:03:31 +08:00
2018-12-12 13:08:10 +08:00
2019-01-11 16:52:28 +08:00
2019-02-14 10:16:21 +08:00