x86/oprofile: put SVM only code under CONFIG_HVM
authorWei Liu <wei.liu2@citrix.com>
Fri, 17 Aug 2018 15:12:41 +0000 (16:12 +0100)
committerWei Liu <wei.liu2@citrix.com>
Tue, 21 Aug 2018 14:17:14 +0000 (15:17 +0100)
The code snippet in question is to detect NMI held by SVM until STGI
is called. When Xen doesn't even support HVM guests there is no need
to check svm_stgi_label.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/oprofile/op_model_athlon.c

index 2d3763cfadc13f77bdf59c3d8e9381df93f11a6e..3d6e26f636cf842cde607f8d58a6ff4f7722327d 100644 (file)
@@ -319,9 +319,11 @@ static int athlon_check_ctrs(unsigned int const cpu,
        unsigned long eip = regs->rip;
        int mode = 0;
        struct vcpu *v = current;
-       struct cpu_user_regs *guest_regs = guest_cpu_user_regs();
        unsigned int const nr_ctrs = model->num_counters;
 
+#if CONFIG_HVM
+       struct cpu_user_regs *guest_regs = guest_cpu_user_regs();
+
        if (!guest_mode(regs) &&
            (eip == (unsigned long)svm_stgi_label)) {
                /* SVM guest was running when NMI occurred */
@@ -329,6 +331,7 @@ static int athlon_check_ctrs(unsigned int const cpu,
                eip = guest_regs->rip;
                mode = xenoprofile_get_mode(v, guest_regs);
        } else
+#endif
                mode = xenoprofile_get_mode(v, regs);
 
        for (i = 0 ; i < nr_ctrs; ++i) {