From: Andrew Cooper Date: Thu, 24 May 2018 13:15:32 +0000 (+0100) Subject: x86/vmx: Simplify PAT handling during vcpu construction X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~3726 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e29acab49b97bdcbae74592831994430ab861170;p=xen.git x86/vmx: Simplify PAT handling during vcpu construction The host PAT value is a compile time constant, and doesn't need to be read out of hardware. Merge this if block into the previous block, which has an identical condition. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich Acked-by: Kevin Tian Reviewed-by: Roger Pau Monné --- diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c index 258fc08f72..13b9cc5dbe 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -1248,17 +1248,9 @@ static int construct_vmcs(struct vcpu *v) ept->mfn = pagetable_get_pfn(p2m_get_pagetable(p2m)); __vmwrite(EPT_POINTER, ept->eptp); - } - - if ( paging_mode_hap(d) ) - { - u64 host_pat, guest_pat; - - rdmsrl(MSR_IA32_CR_PAT, host_pat); - guest_pat = MSR_IA32_CR_PAT_RESET; - __vmwrite(HOST_PAT, host_pat); - __vmwrite(GUEST_PAT, guest_pat); + __vmwrite(HOST_PAT, XEN_MSR_PAT); + __vmwrite(GUEST_PAT, MSR_IA32_CR_PAT_RESET); } if ( cpu_has_vmx_mpx ) __vmwrite(GUEST_BNDCFGS, 0);