|
From: Daniel R. <cos...@gm...> - 2006-05-09 16:13:38
|
Hello Manuel
thanks for the test-run.. Good to see that it also works on the more dated
hardware.
> There it is again (the version 03). I guess it's legitimate.
Either that or you two just happen to use mainboards with the same chipset
;). From what I can tell versions numbers 0x01 through 0x10 are reserved
for I/O APICs of the 486 era that didn't yet use the new APIC architecture
(XAPIC). Here's a snipped of the linux code that checks the version number
at boot-time:
if((reg_01.bits.version != 0x01) && /* 82489DX IO-APICs */
(reg_01.bits.version != 0x10) && /* oldest IO-APICs */
(reg_01.bits.version != 0x11) && /* Pentium/Pro IO-APICs */
(reg_01.bits.version != 0x13) && /* Xeon IO-APICs */
(reg_01.bits.version != 0x20)) /* Intel P64H (82806 AA) */
{
UNEXPECTED_IO_APIC();
}
I propably should add that UNEXPECTED_IO_APIC() is just some empty stub
procedure, so that the kernel still boots if the version is other than the
expected values.
regards,
cosmo86
http://lxr.linux.no/source/arch/i386/kernel/io_apic.c#L1302
|