RE: 256 apic id for amd64
From: YhLu
Date: Thu Dec 30 2004 - 18:11:56 EST
2.6.9 has a good feature and you remove that in 2.6.10.
That is if the io apic is set to above 0xf, io_apic.c will find one below
0xf unused and update the table.
YH
-----Original Message-----
From: Andi Kleen [mailto:ak@xxxxxx]
Sent: Thursday, December 30, 2004 10:45 AM
To: YhLu
Cc: linux-kernel@xxxxxxxxxxxxxxx; discuss@xxxxxxxxxx; Matt_Domsch@xxxxxxxx
Subject: Re: 256 apic id for amd64
YhLu <YhLu@xxxxxxxx> writes:
> Can someone who maintains the x86-64 io_apic.c look at my patch about 256
> apic id for amd64?
First in general if you want patches submitted look up the maintainer
in the MAINTAINERS file in the source tree and send it directly
to the appropiate person and mailing list.
Just curious - how many IO-APICs does your system have?
Then I don't like your patch very much, since it doesnt handle
Intel systems. The best fix is probably to
i386 also has a different (but Intel specific fix) - uses either
0xf or 0xff based on the APIC version. Just dropping it seems
better to me though. I suppose Matt (cc'ed) who apparently
wrote this code originally used it to work around some BIOS
bug, and at least we can hope for now that there are no
EM64T boxes with that particular BIOS bug.
I will add this patch.
-Andi
Remove check that limited max number of IO-APIC to 8.
The original check was apparently to work around some old BIOS
bugs and we just assume x86-64 machines don't have this class of
problems.
Signed-off-by: Andi Kleen <ak@xxxxxxx>
diff -u linux-2.6.10/arch/x86_64/kernel/io_apic.c-o
linux-2.6.10/arch/x86_64/kernel/io_apic.c
--- linux-2.6.10/arch/x86_64/kernel/io_apic.c-o 2004-12-24
22:34:45.000000000 +0100
+++ linux-2.6.10/arch/x86_64/kernel/io_apic.c 2004-12-30
19:41:08.000000000 +0100
@@ -1160,13 +1160,6 @@
old_id = mp_ioapics[apic].mpc_apicid;
- if (mp_ioapics[apic].mpc_apicid >= 0xf) {
- apic_printk(APIC_QUIET,KERN_ERR "BIOS bug,
IO-APIC#%d ID is %d in the MPC table!...\n",
- apic, mp_ioapics[apic].mpc_apicid);
- apic_printk(APIC_QUIET,KERN_ERR "... fixing up to
%d. (tell your hw vendor)\n",
- reg_00.bits.ID);
- mp_ioapics[apic].mpc_apicid = reg_00.bits.ID;
- }
printk(KERN_INFO "Using IO-APIC %d\n",
mp_ioapics[apic].mpc_apicid);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/