Re: [kvm-devel] [PATCH]KVM: VMX: Remove the secondary execute control depends on irqchip

2007-11-22 Thread Avi Kivity
Sheng Yang wrote:
 From 140114fbd60afaf08fde429d05c280d88205051b Mon Sep 17 00:00:00 2001
 From: Sheng Yang [EMAIL PROTECTED]
 Date: Wed, 21 Nov 2007 14:33:25 +0800
 Subject: [PATCH] KVM: VMX: Remove the secondary execute control depends on 
 irqchip

 The state of SECONDARY_VM_EXEC_CONTROL shouldn't depend on in-kernel IRQ chip,
 this patch fix this.

   

Applied, thanks.


-- 
error compiling committee.c: too many arguments to function


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH]KVM: VMX: Remove the secondary execute control depends on irqchip

2007-11-20 Thread Sheng Yang
From 140114fbd60afaf08fde429d05c280d88205051b Mon Sep 17 00:00:00 2001
From: Sheng Yang [EMAIL PROTECTED]
Date: Wed, 21 Nov 2007 14:33:25 +0800
Subject: [PATCH] KVM: VMX: Remove the secondary execute control depends 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]
---
 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 4ad60c9..aad31ec 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -186,11 +186,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 
@@ -1516,13 +1511,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);
-- 
1.5.3.4

From 140114fbd60afaf08fde429d05c280d88205051b Mon Sep 17 00:00:00 2001
From: Sheng Yang [EMAIL PROTECTED]
Date: Wed, 21 Nov 2007 14:33:25 +0800
Subject: [PATCH] KVM: VMX: Remove the secondary execute control depends 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]
---
 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 4ad60c9..aad31ec 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -186,11 +186,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 
@@ -1516,13 +1511,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);
-- 
1.5.3.4

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel