]> 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)
commit790f01b98d5214faaf8acce9938e73d9c9ccd888
treef177ebe4451a0a7206312e7fb48dc22ac9af59e8
parent804fe1e3a0fce052f6ee20a92a0aefa95936fb52
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