On Thu, Jan 11, 2007 at 10:01:20AM -0500, Benjamin Romer wrote: > After a lot of internal discussion with other Unisys employees, I think > I've finally got this all figured out. The problem is one line of code > in the disable_IO_APIC() function, that says this: > > entry.dest.physical.physical_dest = GET_APIC_ID(apic_read(APIC_ID)); > > The problem seems to be that when the kernel was previously updated to > take advantage of the 8-bit IO-APIC physical destination field defined > in Intel's xAPIC spec on page 334, downloadable from > ftp://download.intel.com/design/chipsets/e8501/datashts/30962001.pdf , > this particular piece of code was missed. According to my co-worker > Natalie Protasevich, the Linux kernel was updated back when the Xeon > processor first came out to use the larger field by merely switching the > code to use the logical destination field for everything. (Personally, I > would have removed the union from the structure and put in new fields > with new names to make the change more obvious, but it's not my > code. :) ) Anyway, what it comes down to is we need to switch that one > line in disable_IO_APIC() to read > > entry.dest.logical.logical_dest = GET_APIC_ID(apic_read(APIC_ID)); >
Hmm.. This should fix the problem without breaking old 4bit physical destination mode machines. Thanks Vivek _______________________________________________ fastboot mailing list [email protected] https://lists.osdl.org/mailman/listinfo/fastboot
