RE: arch/x86/kernel/apic/apic.c: calibrate_APIC_clock() soft hangs when PIC is not configured by BIOS before kernel is launched.

From: Thomas Gleixner
Date: Fri Jun 14 2019 - 09:07:35 EST


Garrett,

On Thu, 9 May 2019, Kirkendall, Garrett wrote:

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

A: No.
Q: Should I include quotations after my reply?

http://daringfireball.net/2007/07/on_top

Also please break the lines around 78 chars.

> 1. Is it correct to probe the 8259 before it is initialized by the
> kernel? The 8259 will not respond properly to the probe unless it is
> properly initialized.

So far the kernel relied on the BIOS to initialize 8259

> 2. Should IOAPIC interrupts 0-15 require the legacy PIC be available and
> initialized by the BIOS?

Unless the platform explicitely states that there is no legacy PIC, which
is true for some MID and HV guest systems.

> 2. The kernel will not boot if there is no legacy 8259 PIC even if all
> the other factors stated are provided.

Hmm? what other factors?

> I want to understand why a preinitialized 8259 is a requirement for a
> system configured to use the IOAPIC?

Mostly historical reasons and the whole PIC/IOAPIC thing has been a fragile
nightmare forever, so I'm reluctant to do any extra work there which might
break older machines.

Thanks,

tglx