Andrew Cooper
2013-Oct-24 11:24 UTC
[PATCH] x86/irq: Print direct vector mappings in the ''i'' debug key
Also adjust the initial print message, as the IRQ loop has contained non-guest interrutps for a while now. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> CC: Keir Fraser <keir@xen.org> CC: Jan Beulich <JBeulich@suse.com> --- xen/arch/x86/irq.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 53fe9e3..5e2484f 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -2228,7 +2228,7 @@ static void dump_irqs(unsigned char key) unsigned long flags; char *ssid; - printk("Guest interrupt information:\n"); + printk("IRQ information:\n"); for ( irq = 0; irq < nr_irqs; irq++ ) { @@ -2285,6 +2285,14 @@ static void dump_irqs(unsigned char key) xfree(ssid); } + printk("Direct vector information:\n"); + for ( i = 0; i < NR_VECTORS; ++i ) + if ( direct_apic_vector[i] ) + { + printk(" %#04x -> ", i); + print_function("%s()\n", (unsigned long)direct_apic_vector[i]); + } + dump_ioapic_irq_info(); } -- 1.7.10.4
Jan Beulich
2013-Oct-28 09:35 UTC
Re: [PATCH] x86/irq: Print direct vector mappings in the ''i'' debug key
>>> On 24.10.13 at 13:24, Andrew Cooper <andrew.cooper3@citrix.com> wrote: > @@ -2285,6 +2285,14 @@ static void dump_irqs(unsigned char key) > xfree(ssid); > } > > + printk("Direct vector information:\n"); > + for ( i = 0; i < NR_VECTORS; ++i ) > + if ( direct_apic_vector[i] ) > + { > + printk(" %#04x -> ", i); > + print_function("%s()\n", (unsigned long)direct_apic_vector[i]);Did you build test this? I can''t seem to find any print_function() in the staging tree... Jan
Andrew Cooper
2013-Oct-28 10:11 UTC
Re: [PATCH] x86/irq: Print direct vector mappings in the ''i'' debug key
On 28/10/13 09:35, Jan Beulich wrote:>>>> On 24.10.13 at 13:24, Andrew Cooper <andrew.cooper3@citrix.com> wrote: >> @@ -2285,6 +2285,14 @@ static void dump_irqs(unsigned char key) >> xfree(ssid); >> } >> >> + printk("Direct vector information:\n"); >> + for ( i = 0; i < NR_VECTORS; ++i ) >> + if ( direct_apic_vector[i] ) >> + { >> + printk(" %#04x -> ", i); >> + print_function("%s()\n", (unsigned long)direct_apic_vector[i]); > Did you build test this? I can''t seem to find any print_function() in > the staging tree... > > Jan >Sorry. I developed this on my branch which includes the patch to drop the +0/<len> (posted a while back). I clearly forgotten to refresh the patch when testing against staging. (I really need to get out of the habit of doing this). I will get around to doing the %p modifiers in some amount of free time, but print_symbol() was intended here. v2 on its way. ~Andrew
Andrew Cooper
2013-Oct-28 10:28 UTC
[PATCH v2] x86/irq: Print direct vector mappings in the ''i'' debug key
Also adjust the initial print message, as the IRQ loop has contained non-guest interrutps for a while now. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> CC: Keir Fraser <keir@xen.org> CC: Jan Beulich <JBeulich@suse.com> --- Changes since v1: * Correct print_function -> print_symbol --- xen/arch/x86/irq.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 53fe9e3..89c46d3 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -2228,7 +2228,7 @@ static void dump_irqs(unsigned char key) unsigned long flags; char *ssid; - printk("Guest interrupt information:\n"); + printk("IRQ information:\n"); for ( irq = 0; irq < nr_irqs; irq++ ) { @@ -2285,6 +2285,14 @@ static void dump_irqs(unsigned char key) xfree(ssid); } + printk("Direct vector information:\n"); + for ( i = 0; i < NR_VECTORS; ++i ) + if ( direct_apic_vector[i] ) + { + printk(" %#04x -> ", i); + print_symbol("%s\n", (unsigned long)direct_apic_vector[i]); + } + dump_ioapic_irq_info(); } -- 1.7.10.4