diff options
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 69 |
1 files changed, 49 insertions, 20 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 1ed5cbb9a14a..8eb863e27ea6 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -1562,31 +1562,60 @@ __apicdebuginit(void) print_IO_APIC(void) | |||
1562 | 1562 | ||
1563 | printk(KERN_DEBUG ".... IRQ redirection table:\n"); | 1563 | printk(KERN_DEBUG ".... IRQ redirection table:\n"); |
1564 | 1564 | ||
1565 | printk(KERN_DEBUG " NR Dst Mask Trig IRR Pol" | 1565 | if (intr_remapping_enabled) { |
1566 | " Stat Dmod Deli Vect:\n"); | 1566 | printk(KERN_DEBUG " NR Indx Fmt Mask Trig IRR" |
1567 | " Pol Stat Indx2 Zero Vect:\n"); | ||
1568 | } else { | ||
1569 | printk(KERN_DEBUG " NR Dst Mask Trig IRR Pol" | ||
1570 | " Stat Dmod Deli Vect:\n"); | ||
1571 | } | ||
1567 | 1572 | ||
1568 | for (i = 0; i <= reg_01.bits.entries; i++) { | 1573 | for (i = 0; i <= reg_01.bits.entries; i++) { |
1569 | struct IO_APIC_route_entry entry; | 1574 | if (intr_remapping_enabled) { |
1570 | 1575 | struct IO_APIC_route_entry entry; | |
1571 | entry = ioapic_read_entry(apic, i); | 1576 | struct IR_IO_APIC_route_entry *ir_entry; |
1572 | 1577 | ||
1573 | printk(KERN_DEBUG " %02x %02X ", | 1578 | entry = ioapic_read_entry(apic, i); |
1574 | i, | 1579 | ir_entry = (struct IR_IO_APIC_route_entry *) &entry; |
1575 | entry.dest | 1580 | printk(KERN_DEBUG " %02x %04X ", |
1576 | ); | 1581 | i, |
1582 | ir_entry->index | ||
1583 | ); | ||
1584 | printk("%1d %1d %1d %1d %1d " | ||
1585 | "%1d %1d %X %02X\n", | ||
1586 | ir_entry->format, | ||
1587 | ir_entry->mask, | ||
1588 | ir_entry->trigger, | ||
1589 | ir_entry->irr, | ||
1590 | ir_entry->polarity, | ||
1591 | ir_entry->delivery_status, | ||
1592 | ir_entry->index2, | ||
1593 | ir_entry->zero, | ||
1594 | ir_entry->vector | ||
1595 | ); | ||
1596 | } else { | ||
1597 | struct IO_APIC_route_entry entry; | ||
1577 | 1598 | ||
1578 | printk("%1d %1d %1d %1d %1d %1d %1d %02X\n", | 1599 | entry = ioapic_read_entry(apic, i); |
1579 | entry.mask, | 1600 | printk(KERN_DEBUG " %02x %02X ", |
1580 | entry.trigger, | 1601 | i, |
1581 | entry.irr, | 1602 | entry.dest |
1582 | entry.polarity, | 1603 | ); |
1583 | entry.delivery_status, | 1604 | printk("%1d %1d %1d %1d %1d " |
1584 | entry.dest_mode, | 1605 | "%1d %1d %02X\n", |
1585 | entry.delivery_mode, | 1606 | entry.mask, |
1586 | entry.vector | 1607 | entry.trigger, |
1587 | ); | 1608 | entry.irr, |
1609 | entry.polarity, | ||
1610 | entry.delivery_status, | ||
1611 | entry.dest_mode, | ||
1612 | entry.delivery_mode, | ||
1613 | entry.vector | ||
1614 | ); | ||
1615 | } | ||
1588 | } | 1616 | } |
1589 | } | 1617 | } |
1618 | |||
1590 | printk(KERN_DEBUG "IRQ to pin mappings:\n"); | 1619 | printk(KERN_DEBUG "IRQ to pin mappings:\n"); |
1591 | for_each_active_irq(irq) { | 1620 | for_each_active_irq(irq) { |
1592 | struct irq_pin_list *entry; | 1621 | struct irq_pin_list *entry; |