From a7b6fc74e5af44f96d1fd82b76890244e372a4a8 Mon Sep 17 00:00:00 2001 From: Victor Sun Date: Tue, 23 Jul 2019 09:54:14 +0800 Subject: [PATCH] HV: allow write 0 to MSR_IA32_MCG_STATUS Per SDM, writing 0 to MSR_IA32_MCG_STATUS is allowed, HV should not return -EACCES on this case; Tracked-On: #3454 Signed-off-by: Victor Sun Acked-by: Eddie Dong --- hypervisor/arch/x86/guest/vmsr.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hypervisor/arch/x86/guest/vmsr.c b/hypervisor/arch/x86/guest/vmsr.c index 33b7f30aa..a639157d4 100644 --- a/hypervisor/arch/x86/guest/vmsr.c +++ b/hypervisor/arch/x86/guest/vmsr.c @@ -635,8 +635,14 @@ int32_t wrmsr_vmexit_handler(struct acrn_vcpu *vcpu) err = vlapic_set_apicbase(vcpu_vlapic(vcpu), v); break; } - case MSR_IA32_MCG_CAP: case MSR_IA32_MCG_STATUS: + { + if (v != 0U) { + err = -EACCES; + } + break; + } + case MSR_IA32_MCG_CAP: case MSR_IA32_FEATURE_CONTROL: case MSR_IA32_SGXLEPUBKEYHASH0: case MSR_IA32_SGXLEPUBKEYHASH1: