debuggers.hg

changeset 20885:57893d13574c

x86: dump full IRQ affinity

Signed-off-by: Jan Beulich <jbeulich@novell.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Jan 21 15:12:38 2010 +0000 (2010-01-21)
parents ba6a71530fc6
children c06732ac2392
files xen/arch/x86/irq.c
line diff
     1.1 --- a/xen/arch/x86/irq.c	Thu Jan 21 15:12:17 2010 +0000
     1.2 +++ b/xen/arch/x86/irq.c	Thu Jan 21 15:12:38 2010 +0000
     1.3 @@ -1570,6 +1570,7 @@ static void dump_irqs(unsigned char key)
     1.4      irq_guest_action_t *action;
     1.5      struct domain *d;
     1.6      unsigned long flags;
     1.7 +    char cpustr[NR_CPUS/4+NR_CPUS/32+2];
     1.8  
     1.9      printk("Guest interrupt information:\n");
    1.10  
    1.11 @@ -1584,20 +1585,19 @@ static void dump_irqs(unsigned char key)
    1.12  
    1.13          spin_lock_irqsave(&desc->lock, flags);
    1.14  
    1.15 +        cpumask_scnprintf(cpustr, sizeof(cpustr), desc->affinity);
    1.16 +        printk("   IRQ:%4d affinity:%s vec:%02x type=%-15s"
    1.17 +               " status=%08x ",
    1.18 +               irq, cpustr, cfg->vector,
    1.19 +               desc->handler->typename, desc->status);
    1.20 +
    1.21          if ( !(desc->status & IRQ_GUEST) )
    1.22 -            /* Only show CPU0 - CPU31's affinity info.*/
    1.23 -            printk("   IRQ:%4d, IRQ affinity:0x%08x, Vec:%3d type=%-15s"
    1.24 -                    " status=%08x mapped, unbound\n",
    1.25 -                   irq, *(int*)desc->affinity.bits, cfg->vector,
    1.26 -                    desc->handler->typename, desc->status);
    1.27 +            printk("mapped, unbound\n");
    1.28          else
    1.29          {
    1.30              action = (irq_guest_action_t *)desc->action;
    1.31  
    1.32 -            printk("   IRQ:%4d, IRQ affinity:0x%08x, Vec:%3d type=%-15s "
    1.33 -                    "status=%08x in-flight=%d domain-list=",
    1.34 -                   irq, *(int*)desc->affinity.bits, cfg->vector,
    1.35 -                   desc->handler->typename, desc->status, action->in_flight);
    1.36 +            printk("in-flight=%d domain-list=", action->in_flight);
    1.37  
    1.38              for ( i = 0; i < action->nr_guests; i++ )
    1.39              {