• Joao Martins's avatar
    KVM: x86/xen: fix Xen hypercall page msr handling · 1232f8e6
    Joao Martins authored
    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: default avatarJoao Martins <joao.m.martins@oracle.com>
    Signed-off-by: default avatarDavid Woodhouse <dwmw@amazon.co.uk>
    1232f8e6
x86.c 304 KB