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