Commit 7a959cff authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar

x86: add debug info for 32bit sparse_irq

so could figure out bugs where we get an interrupt, but vector_irq is
not initialized yet.
Signed-off-by: default avatarYinghai Lu  <yhlu.kernel@gmail.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 497c9a19
...@@ -1114,8 +1114,12 @@ static int __assign_irq_vector(int irq, cpumask_t mask) ...@@ -1114,8 +1114,12 @@ static int __assign_irq_vector(int irq, cpumask_t mask)
cfg->move_in_progress = 1; cfg->move_in_progress = 1;
cfg->old_domain = cfg->domain; cfg->old_domain = cfg->domain;
} }
for_each_cpu_mask_nr(new_cpu, new_mask) printk(KERN_DEBUG "assign_irq_vector: irq %d vector %#x cpu ", irq, vector);
per_cpu(vector_irq, new_cpu)[vector] = irq; for_each_cpu_mask_nr(new_cpu, new_mask) {
per_cpu(vector_irq, new_cpu)[vector] = irq;
printk(KERN_CONT " %d ", new_cpu);
}
printk(KERN_CONT "\n");
cfg->vector = vector; cfg->vector = vector;
cfg->domain = domain; cfg->domain = domain;
return 0; return 0;
......
...@@ -1394,6 +1394,8 @@ __apicdebuginit(void) print_IO_APIC(void) ...@@ -1394,6 +1394,8 @@ __apicdebuginit(void) print_IO_APIC(void)
printk(KERN_DEBUG "IO APIC #%d......\n", mp_ioapics[apic].mp_apicid); printk(KERN_DEBUG "IO APIC #%d......\n", mp_ioapics[apic].mp_apicid);
printk(KERN_DEBUG ".... register #00: %08X\n", reg_00.raw); printk(KERN_DEBUG ".... register #00: %08X\n", reg_00.raw);
printk(KERN_DEBUG "....... : physical APIC id: %02X\n", reg_00.bits.ID); printk(KERN_DEBUG "....... : physical APIC id: %02X\n", reg_00.bits.ID);
printk(KERN_DEBUG "....... : Delivery Type: %X\n", reg_00.bits.delivery_type);
printk(KERN_DEBUG "....... : LTS : %X\n", reg_00.bits.LTS);
printk(KERN_DEBUG ".... register #01: %08X\n", *(int *)&reg_01); printk(KERN_DEBUG ".... register #01: %08X\n", *(int *)&reg_01);
printk(KERN_DEBUG "....... : max redirection entries: %04X\n", reg_01.bits.entries); printk(KERN_DEBUG "....... : max redirection entries: %04X\n", reg_01.bits.entries);
......
...@@ -237,8 +237,8 @@ unsigned int do_IRQ(struct pt_regs *regs) ...@@ -237,8 +237,8 @@ unsigned int do_IRQ(struct pt_regs *regs)
desc = irq_to_desc(irq); desc = irq_to_desc(irq);
if (unlikely(!desc)) { if (unlikely(!desc)) {
printk(KERN_EMERG "%s: cannot handle IRQ %d vector %#x\n", printk(KERN_EMERG "%s: cannot handle IRQ %d vector %#x cpu %d\n",
__func__, irq, vector); __func__, irq, vector, smp_processor_id());
BUG(); BUG();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment