Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83ff3b9d4a0ade8f8eb9757fd4b36c501ba161e4 Commit: 83ff3b9d4a0ade8f8eb9757fd4b36c501ba161e4 Parent: 0771671749b59a507b6da4efb931c44d9691e248 Author: Sheng Yang <[EMAIL PROTECTED]> AuthorDate: Wed Nov 21 14:33:25 2007 +0800 Committer: Avi Kivity <[EMAIL PROTECTED]> CommitDate: Wed Jan 30 17:53:14 2008 +0200
KVM: VMX: Remove the secondary execute control dependency on irqchip The state of SECONDARY_VM_EXEC_CONTROL shouldn't depend on in-kernel IRQ chip, this patch fix this. Signed-off-by: Sheng Yang <[EMAIL PROTECTED]> Signed-off-by: Avi Kivity <[EMAIL PROTECTED]> --- drivers/kvm/vmx.c | 17 +++++++---------- 1 files changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c index b4c0bdc..fc5e7c8 100644 --- a/drivers/kvm/vmx.c +++ b/drivers/kvm/vmx.c @@ -193,11 +193,6 @@ static inline int cpu_has_secondary_exec_ctrls(void) CPU_BASED_ACTIVATE_SECONDARY_CONTROLS); } -static inline int vm_need_secondary_exec_ctrls(struct kvm *kvm) -{ - return ((cpu_has_secondary_exec_ctrls()) && (irqchip_in_kernel(kvm))); -} - static inline int cpu_has_vmx_virtualize_apic_accesses(void) { return (vmcs_config.cpu_based_2nd_exec_ctrl & @@ -1524,13 +1519,15 @@ static int vmx_vcpu_setup(struct vcpu_vmx *vmx) CPU_BASED_CR8_LOAD_EXITING; #endif } - if (!vm_need_secondary_exec_ctrls(vmx->vcpu.kvm)) - exec_control &= ~CPU_BASED_ACTIVATE_SECONDARY_CONTROLS; vmcs_write32(CPU_BASED_VM_EXEC_CONTROL, exec_control); - if (vm_need_secondary_exec_ctrls(vmx->vcpu.kvm)) - vmcs_write32(SECONDARY_VM_EXEC_CONTROL, - vmcs_config.cpu_based_2nd_exec_ctrl); + if (cpu_has_secondary_exec_ctrls()) { + exec_control = vmcs_config.cpu_based_2nd_exec_ctrl; + if (!vm_need_virtualize_apic_accesses(vmx->vcpu.kvm)) + exec_control &= + ~SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES; + vmcs_write32(SECONDARY_VM_EXEC_CONTROL, exec_control); + } vmcs_write32(PAGE_FAULT_ERROR_CODE_MASK, !!bypass_guest_pf); vmcs_write32(PAGE_FAULT_ERROR_CODE_MATCH, !!bypass_guest_pf); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html