vmx: Clean up after Core2 perf-monitoring patch.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 30 Jan 2008 11:17:14 +0000 (11:17 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 30 Jan 2008 11:17:14 +0000 (11:17 +0000)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/hvm/vmx/vpmu.c
xen/include/asm-x86/hvm/vmx/vpmu.h

index b0f0a445011afa60c6fda26c9b80def773c49d0f..8bf7faabcdd1195a73a382dbde17312d7e255206 100644 (file)
@@ -31,7 +31,7 @@
 #include <public/hvm/save.h>
 #include <asm/hvm/vmx/vpmu.h>
 
-int inline vpmu_do_wrmsr(struct cpu_user_regs *regs)
+int vpmu_do_wrmsr(struct cpu_user_regs *regs)
 {
     struct vpmu_struct *vpmu = vcpu_vpmu(current);
 
@@ -40,7 +40,7 @@ int inline vpmu_do_wrmsr(struct cpu_user_regs *regs)
     return 0;
 }
 
-int inline vpmu_do_rdmsr(struct cpu_user_regs *regs)
+int vpmu_do_rdmsr(struct cpu_user_regs *regs)
 {
     struct vpmu_struct *vpmu = vcpu_vpmu(current);
 
@@ -49,7 +49,7 @@ int inline vpmu_do_rdmsr(struct cpu_user_regs *regs)
     return 0;
 }
 
-int inline vpmu_do_interrupt(struct cpu_user_regs *regs)
+int vpmu_do_interrupt(struct cpu_user_regs *regs)
 {
     struct vpmu_struct *vpmu = vcpu_vpmu(current);
 
@@ -75,13 +75,10 @@ void vpmu_load(struct vcpu *v)
 }
 
 extern struct arch_vpmu_ops core2_vpmu_ops;
-void inline vpmu_initialise(struct vcpu *v)
+void vpmu_initialise(struct vcpu *v)
 {
     struct vpmu_struct *vpmu = vcpu_vpmu(v);
 
-    /* If it is not a fresh initialization, release all resources
-     * before initialise again.
-     */
     if ( vpmu->flags & VPMU_CONTEXT_ALLOCATED )
         vpmu_destroy(v);
 
@@ -98,18 +95,15 @@ void inline vpmu_initialise(struct vcpu *v)
         }
     }
 
-    if ( !vpmu->arch_vpmu_ops )
+    if ( vpmu->arch_vpmu_ops != NULL )
     {
-        dprintk(XENLOG_WARNING, "Unsupport CPU model for guest PMU usage.\n");
-        return;
+        vpmu->flags = 0;
+        vpmu->context = NULL;
+        vpmu->arch_vpmu_ops->arch_vpmu_initialise(v);
     }
-
-    vpmu->flags = 0;
-    vpmu->context = NULL;
-    vpmu->arch_vpmu_ops->arch_vpmu_initialise(v);
 }
 
-void inline vpmu_destroy(struct vcpu *v)
+void vpmu_destroy(struct vcpu *v)
 {
     struct vpmu_struct *vpmu = vcpu_vpmu(v);
 
index 3268e4cb04aea41b36d0665a9de97bee253f6a65..c92f6548b9605128e1e58033102570e856dc82b0 100644 (file)
@@ -68,13 +68,13 @@ struct vpmu_struct {
 #define VPMU_CONTEXT_LOADED                 0x2
 #define VPMU_RUNNING                        0x4
 
-int inline vpmu_do_wrmsr(struct cpu_user_regs *regs);
-int inline vpmu_do_rdmsr(struct cpu_user_regs *regs);
-int inline vpmu_do_interrupt(struct cpu_user_regs *regs);
-void inline vpmu_initialise(struct vcpu *v);
-void inline vpmu_destroy(struct vcpu *v);
-void inline vpmu_save(struct vcpu *v);
-void inline vpmu_load(struct vcpu *v);
+int vpmu_do_wrmsr(struct cpu_user_regs *regs);
+int vpmu_do_rdmsr(struct cpu_user_regs *regs);
+int vpmu_do_interrupt(struct cpu_user_regs *regs);
+void vpmu_initialise(struct vcpu *v);
+void vpmu_destroy(struct vcpu *v);
+void vpmu_save(struct vcpu *v);
+void vpmu_load(struct vcpu *v);
 
 extern int acquire_pmu_ownership(int pmu_ownership);
 extern void release_pmu_ownership(int pmu_ownership);