Re: [PATCH x86 for review III] [7/29] x86_64: update IO-APIC dest field to 8-bit for xAPIC

From: Eric W. Biederman
Date: Mon Feb 12 2007 - 14:50:47 EST


Andi Kleen <ak@xxxxxxx> writes:

> From: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
>
> On the Unisys ES7000/ONE system, we encountered a problem where performing
> a kexec reboot or dump on any cell other than cell 0 causes the system
> timer to stop working, resulting in a hang during timer calibration in the
> new kernel.
>
> We traced the problem to one line of code in disable_IO_APIC(), which needs
> to restore the timer's IO-APIC configuration before rebooting. The code is
> currently using the 4-bit physical destination field, rather than using the
> 8-bit logical destination field, and it cuts off the upper 4 bits of the
> timer's APIC ID. If we change this to use the logical destination field,
> the timer works and we can kexec on the upper cells. This was tested on
> two different cells (0 and 2) in an ES7000/ONE system.
>
> For reference, the relevant Intel xAPIC spec is kept at
> ftp://download.intel.com/design/chipsets/e8501/datashts/30962001.pdf,
> specifically on page 334.
>
> Signed-off-by: Benjamin M Romer <benjamin.romer@xxxxxxxxxx>
> Signed-off-by: Andi Kleen <ak@xxxxxxx>
> Cc: Andi Kleen <ak@xxxxxxx>
> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

Acked-by: Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>

-
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/