• Vitaly Kuznetsov's avatar
    KVM: nVMX: Implement evmcs_field_offset() suitable for handle_vmread() · 892a42c1
    Vitaly Kuznetsov authored
    In preparation to allowing reads from Enlightened VMCS from
    handle_vmread(), implement evmcs_field_offset() to get the correct
    read offset. get_evmcs_offset(), which is being used by KVM-on-Hyper-V,
    is almost what's needed but a few things need to be adjusted. First,
    WARN_ON() is unacceptable for handle_vmread() as any field can (in
    theory) be supplied by the guest and not all fields are defined in
    eVMCS v1. Second, we need to handle 'holes' in eVMCS (missing fields).
    It also sounds like a good idea to WARN_ON() if such fields are ever
    accessed by KVM-on-Hyper-V.
    
    Implement dedicated evmcs_field_offset() helper.
    
    No functional change intended.
    Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
    Message-Id: <20220112170134.1904308-5-vkuznets@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    892a42c1
evmcs.c 16.7 KB