]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86/xen: fix Xen hypercall page msr handling
authorJoao Martins <joao.m.martins@oracle.com>
Wed, 13 Jun 2018 10:10:37 +0000 (06:10 -0400)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Thu, 4 Feb 2021 13:58:34 +0000 (13:58 +0000)
commita59951a7e7defad517b1c925861f6b6d4eb040ce
treef177ebe4451a0a7206312e7fb48dc22ac9af59e8
parent9c2c5397477c0f76e5dfb704302f5fc5eb16a58e
KVM: x86/xen: fix Xen hypercall page msr handling

Xen usually places its MSR at 0x40000000 or 0x40000200 depending on
whether it is running in viridian mode or not. Note that this is not
ABI guaranteed, so it is possible for Xen to advertise the MSR some
place else.

Given the way xen_hvm_config() is handled, if the former address is
selected, this will conflict with Hyper-V's MSR
(HV_X64_MSR_GUEST_OS_ID) which unconditionally uses the same address.

Given that the MSR location is arbitrary, move the xen_hvm_config()
handling to the top of kvm_set_msr_common() before falling through.

Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
arch/x86/kvm/x86.c