From: kaf24@firebug.cl.cam.ac.uk Date: Fri, 13 Jan 2006 22:41:28 +0000 (+0100) Subject: Make all nmi debugkey tracing arch specific. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16541^2~40 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c9a14b06a442b2030969d766e67cdbd5d1b9dd62;p=xen.git Make all nmi debugkey tracing arch specific. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c index 96c55572cd..e2a053fe93 100644 --- a/xen/arch/x86/nmi.c +++ b/xen/arch/x86/nmi.c @@ -448,9 +448,31 @@ static void do_nmi_trigger(unsigned char key) local_irq_enable(); } +static void do_nmi_stats(unsigned char key) +{ + int i; + struct domain *d; + struct vcpu *v; + printk("CPU\tNMI\n"); + for_each_cpu(i) + printk("%3d\t%3d\n", i, nmi_count(i)); + + if ((d = dom0) == NULL) + return; + if ((v = d->vcpu[0]) == NULL) + return; + if (v->vcpu_flags & (VCPUF_nmi_pending|VCPUF_nmi_masked)) + printk("dom0 vpu0: NMI %s%s\n", + v->vcpu_flags & VCPUF_nmi_pending ? "pending " : "", + v->vcpu_flags & VCPUF_nmi_masked ? "masked " : ""); + else + printk("dom0 vcpu0: NMI neither pending nor masked\n"); +} + static __init int register_nmi_trigger(void) { register_keyhandler('n', do_nmi_trigger, "trigger an NMI"); + register_keyhandler('N', do_nmi_stats, "NMI statistics"); return 0; } __initcall(register_nmi_trigger); diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c index 5fc1e6b04c..b239391462 100644 --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -185,27 +185,6 @@ void do_debug_key(unsigned char key, struct cpu_user_regs *regs) bit. */ } -void do_nmi_stats(unsigned char key) -{ - int i; - struct domain *d; - struct vcpu *v; - printk("CPU\tNMI\n"); - for_each_cpu(i) - printk("%3d\t%3d\n", i, nmi_count(i)); - - if ((d = dom0) == NULL) - return; - if ((v = d->vcpu[0]) == NULL) - return; - if (v->vcpu_flags & (VCPUF_nmi_pending|VCPUF_nmi_masked)) - printk("dom0 vpu0: NMI %s%s\n", - v->vcpu_flags & VCPUF_nmi_pending ? "pending " : "", - v->vcpu_flags & VCPUF_nmi_masked ? "masked " : ""); - else - printk("dom0 vcpu0: NMI neither pending nor masked\n"); -} - #ifndef NDEBUG void debugtrace_key(unsigned char key) { @@ -234,7 +213,6 @@ void initialize_keytable(void) 'r', dump_runq, "dump run queues"); register_irq_keyhandler( 'R', halt_machine, "reboot machine"); - register_keyhandler('N', do_nmi_stats, "NMI statistics"); #ifndef NDEBUG register_keyhandler(