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: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
497c9a195d
commit
7a959cff72
3 changed files with 10 additions and 4 deletions
|
@ -1114,8 +1114,12 @@ next:
|
|||
cfg->move_in_progress = 1;
|
||||
cfg->old_domain = cfg->domain;
|
||||
}
|
||||
for_each_cpu_mask_nr(new_cpu, new_mask)
|
||||
per_cpu(vector_irq, new_cpu)[vector] = irq;
|
||||
printk(KERN_DEBUG "assign_irq_vector: irq %d vector %#x cpu ", irq, vector);
|
||||
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->domain = domain;
|
||||
return 0;
|
||||
|
|
|
@ -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 ".... register #00: %08X\n", reg_00.raw);
|
||||
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 *)®_01);
|
||||
printk(KERN_DEBUG "....... : max redirection entries: %04X\n", reg_01.bits.entries);
|
||||
|
|
|
@ -237,8 +237,8 @@ unsigned int do_IRQ(struct pt_regs *regs)
|
|||
|
||||
desc = irq_to_desc(irq);
|
||||
if (unlikely(!desc)) {
|
||||
printk(KERN_EMERG "%s: cannot handle IRQ %d vector %#x\n",
|
||||
__func__, irq, vector);
|
||||
printk(KERN_EMERG "%s: cannot handle IRQ %d vector %#x cpu %d\n",
|
||||
__func__, irq, vector, smp_processor_id());
|
||||
BUG();
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue