On 2013-03-04 14:24, Paolo Bonzini wrote: > Il 03/03/2013 13:04, Jan Kiszka ha scritto: >> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> >> >> Properly set those bits to 1 that the spec demands in case bit 55 of >> VMX_BASIC is 0 - like in our case. >> >> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> >> --- >> arch/x86/kvm/vmx.c | 13 ++++++++++--- >> 1 files changed, 10 insertions(+), 3 deletions(-) >> >> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >> index 631cdb3..c204f0d 100644 >> --- a/arch/x86/kvm/vmx.c >> +++ b/arch/x86/kvm/vmx.c >> @@ -2050,21 +2050,28 @@ static __init void nested_vmx_setup_ctls_msrs(void) >> PIN_BASED_EXT_INTR_MASK | PIN_BASED_NMI_EXITING | >> PIN_BASED_VIRTUAL_NMIS; >> >> - /* exit controls */ >> - nested_vmx_exit_ctls_low = 0; >> + /* >> + * Exit controls >> + * If bit 55 of VMX_BASIC is off, bits 0-8 and 10, 11, 13, 14, 16 and >> + * 17 must be 1. >> + */ >> + nested_vmx_exit_ctls_low = 0x36dff; >> /* Note that guest use of VM_EXIT_ACK_INTR_ON_EXIT is not supported. */ >> #ifdef CONFIG_X86_64 >> nested_vmx_exit_ctls_high = VM_EXIT_HOST_ADDR_SPACE_SIZE; >> #else >> nested_vmx_exit_ctls_high = 0; >> #endif >> + nested_vmx_exit_ctls_high |= 0x36dff; > > Can you use nested_vmx_exit_ctls_low on the RHS, or define a constant? I'll define constants. Jan > >> /* entry controls */ >> rdmsr(MSR_IA32_VMX_ENTRY_CTLS, >> nested_vmx_entry_ctls_low, nested_vmx_entry_ctls_high); >> - nested_vmx_entry_ctls_low = 0; >> + /* If bit 55 of VMX_BASIC is off, bits 0-8 and 12 must be 1. */ >> + nested_vmx_entry_ctls_low = 0x11ff; >> nested_vmx_entry_ctls_high &= >> VM_ENTRY_LOAD_IA32_PAT | VM_ENTRY_IA32E_MODE; >> + nested_vmx_entry_ctls_high |= 0x11ff; > > Same here. > > Paolo > >> /* cpu-based controls */ >> rdmsr(MSR_IA32_VMX_PROCBASED_CTLS, >> > -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html