Commit 439c0243 authored by Randy Dunlap's avatar Randy Dunlap Committed by Linus Torvalds

[PATCH] 2.5.43 IO APIC bit fields

This recognizes & logs 2 more IO APIC bit fields and reduces UNEXPECTED
IO-APIC traffic.

Has also been acked by Maciej W. Rozycki (marco).
parent 87897a30
...@@ -856,7 +856,9 @@ void __init print_IO_APIC(void) ...@@ -856,7 +856,9 @@ void __init print_IO_APIC(void)
printk(KERN_DEBUG "IO APIC #%d......\n", mp_ioapics[apic].mpc_apicid); printk(KERN_DEBUG "IO APIC #%d......\n", mp_ioapics[apic].mpc_apicid);
printk(KERN_DEBUG ".... register #00: %08X\n", *(int *)&reg_00); printk(KERN_DEBUG ".... register #00: %08X\n", *(int *)&reg_00);
printk(KERN_DEBUG "....... : physical APIC id: %02X\n", reg_00.ID); printk(KERN_DEBUG "....... : physical APIC id: %02X\n", reg_00.ID);
if (reg_00.__reserved_1 || reg_00.__reserved_2) printk(KERN_DEBUG "....... : Delivery Type: %X\n", reg_00.delivery_type);
printk(KERN_DEBUG "....... : LTS : %X\n", reg_00.LTS);
if (reg_00.__reserved_0 || reg_00.__reserved_1 || reg_00.__reserved_2)
UNEXPECTED_IO_APIC(); UNEXPECTED_IO_APIC();
printk(KERN_DEBUG ".... register #01: %08X\n", *(int *)&reg_01); printk(KERN_DEBUG ".... register #01: %08X\n", *(int *)&reg_01);
......
...@@ -22,9 +22,12 @@ ...@@ -22,9 +22,12 @@
* The structure of the IO-APIC: * The structure of the IO-APIC:
*/ */
struct IO_APIC_reg_00 { struct IO_APIC_reg_00 {
__u32 __reserved_2 : 24, __u32 __reserved_2 : 14,
LTS : 1,
delivery_type : 1,
__reserved_1 : 8,
ID : 4, ID : 4,
__reserved_1 : 4; __reserved_0 : 4;
} __attribute__ ((packed)); } __attribute__ ((packed));
struct IO_APIC_reg_01 { struct IO_APIC_reg_01 {
......
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