• Krish Sadhukhan's avatar
    KVM: nVMX: Check Host Address Space Size on vmentry of nested guests · 5845038c
    Krish Sadhukhan authored
    According to section "Checks Related to Address-Space Size" in Intel SDM
    vol 3C, the following checks are performed on vmentry of nested guests:
    
        If the logical processor is outside IA-32e mode (if IA32_EFER.LMA = 0)
        at the time of VM entry, the following must hold:
    	- The "IA-32e mode guest" VM-entry control is 0.
    	- The "host address-space size" VM-exit control is 0.
    
        If the logical processor is in IA-32e mode (if IA32_EFER.LMA = 1) at the
        time of VM entry, the "host address-space size" VM-exit control must be 1.
    
        If the "host address-space size" VM-exit control is 0, the following must
        hold:
    	- The "IA-32e mode guest" VM-entry control is 0.
    	- Bit 17 of the CR4 field (corresponding to CR4.PCIDE) is 0.
    	- Bits 63:32 in the RIP field are 0.
    
        If the "host address-space size" VM-exit control is 1, the following must
        hold:
    	- Bit 5 of the CR4 field (corresponding to CR4.PAE) is 1.
    	- The RIP field contains a canonical address.
    
        On processors that do not support Intel 64 architecture, checks are
        performed to ensure that the "IA-32e mode guest" VM-entry control and the
        "host address-space size" VM-exit control are both 0.
    Signed-off-by: default avatarKrish Sadhukhan <krish.sadhukhan@oracle.com>
    Reviewed-by: default avatarKarl Heubaum <karl.heubaum@oracle.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    5845038c
nested.c 185 KB