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

From: Eric W. Biederman
Date: Wed Dec 12 2007 - 03:48:46 EST


Neil Horman <nhorman@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>

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

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