[PATCH] k8: Enable legacy irqs with extended cpu ids

Eric W. Biederman ebiederm at xmission.com
Wed Dec 12 03:43:31 EST 2007


Neil Horman <nhorman at tuxdriver.com> writes:

> Recently a kdump bug was discovered in which a system would hang inside
> calibrate_delay during the booting of the kdump kernel.  This was caused by the
> fact that the jiffies counter was not being incremented during timer
> calibration.  The root cause of this problem was found to be a bios
> misconfiguration of the hypertransport bus.  On system affected by this hang,
> the bios had assigned APIC ids which used extended apic bits (more than the
> nominal 4 bit ids's), but failed to configure bit 17 of the hypertransport
> transaction config register, which indicated that the mask for the destination
> field of interrupt packets accross the ht bus (see section 3.3.9 of
> http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26094.PDF).
> If a crash occurs on a cpu with an APIC id that extends beyond 4 bits, it will
> not recieve interrupts during the kdump kernel boot, and this hang will be the
> result.  The fix is to add this patch, whcih add an early pci quirk check, to
> forcibly enable this bit in the httcfg register.  This enables all cpus on a
> system to receive interrupts, and allows kdump kernel bootup to procede
> normally.
>
> Regards
> Neil
>
>
> Signed-off-by: Neil Horman <nhorman at tuxdriver.com>

Acked-by: "Eric W. Biederman" <ebiederm at xmission.com>

Eric



More information about the kexec mailing list