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

Reply via email to