acrn-hypervisor/hypervisor/arch/x86/guest
Wen Qian 5d7465a055 hv: fix bug when set MSR_IA32_COPY_PLATFORM_TO_LOCAL before setting MSR_IA32_COPY_LOCAL_TO_PLATFORM
The current code would inject GP to guest, when there's no IWKeyBackup,
and the guest tried to write MSR MSR_IA32_COPY_PLATFORM_TO_LOCAL(0xd92)
to copy IWKeyBackup for the platform to the IWKey for this logical processor.

This patch fixes it by adjusting the code logic, and it'll do nothing
instead of inject GP if no valid IWKeyBackup.
This patch alse add checking for the value being written to avoid setting
reserved MSR bits.

Tracked-On: #7018
Signed-off-by: Wen Qian <qian.wen@intel.com>
Signed-off-by: Li Fei <fei1.li@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2022-01-21 14:35:59 +08:00
..
assign.c hv: tee: x86_tee interrupt support 2021-11-17 15:25:14 +08:00
ept.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
guest_memory.c HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
hyperv.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
instr_emul.c hv: fix clang analyzer deadcode 2022-01-07 13:47:32 +08:00
lock_instr_emul.c hv: Fix vcpu signaling racing problem in lock instruction emulation 2021-11-02 15:01:20 +08:00
nested.c hv: operations on vcpu->reg_cached/reg_updated don't need LOCK prefix 2021-10-08 09:11:10 +08:00
optee.c hv: tee: Handling x86_tee secure interrupts corner cases 2021-12-09 10:47:16 +08:00
pm.c HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
trusty.c hv: remove UUID 2021-11-16 14:42:59 +08:00
ucode.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vcat.c hv: vCAT: propagate vCBM to other vCPUs that share cache with vcpu 2021-10-28 19:12:29 +08:00
vcpu.c hv: fix violations of coding guideline C-FN-16 2022-01-13 08:29:02 +08:00
vcpuid.c ACRN: hv: Unify terminology for service vm 2021-11-02 10:00:55 +08:00
ve820.c hv: fix clang analyzer deadcode 2022-01-07 13:47:32 +08:00
vept.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
virq.c hv: Fix vcpu signaling racing problem in lock instruction emulation 2021-11-02 15:01:20 +08:00
virtual_cr.c HV: treewide: fix violations of coding guideline C-TY-02 2021-11-04 18:15:47 +08:00
vlapic_priv.h hv: add ops to vlapic structure 2019-07-19 16:47:06 +08:00
vlapic.c hv: Add two vlapic APIs 2021-12-09 10:47:16 +08:00
vm_reset.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
vm.c hv: Add stateful VM check before system shutdown 2021-12-01 08:47:25 +08:00
vmcall.c hv: Hide Service VM hypercalls from REE 2021-12-09 10:47:16 +08:00
vmcs.c hv:change log level for check_vmx_ctrl 2021-09-24 10:17:19 +08:00
vmexit.c hv: fix violations of coding guideline C-FN-16 2022-01-13 08:29:02 +08:00
vmsr.c hv: fix bug when set MSR_IA32_COPY_PLATFORM_TO_LOCAL before setting MSR_IA32_COPY_LOCAL_TO_PLATFORM 2022-01-21 14:35:59 +08:00
vmtrr.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
vmx_asm.S hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vmx_io.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00