Re: [PATCH] x86/i8259: Work around buggy legacy PIC

H. Peter Anvin
2021-05-14T17:29:07Z

On 5/14/21 9:12 AM, David Laight wrote:
>
> A more interesting probe would be:
> - Write some value to register 1 - the mask.
> - Write 9 to register zero (selects interrupt in service register).
> - Read register 0 - should be zero since we aren't in as ISR.
> - Read register 1 - should get the mask back.
> You can also write 8 to register 0, reads then return the pending interrupts.
> Their might be pending interrupts - so that value can't be checked.
>
> But if reads start returning the last written value you might only
> have capacitors on the data bus.

What data bus? These things haven't been on a physical parallel bus for
ages.

> The required initialisation registers are pretty fixed for the PC hardware.
> But finding the values requires a bit of work.
>
> David

And you always risk activating new bugs.

Since this appears to be a specific platform advertising the wrong
answer in firmware, this is better handled as a quirk.

-hpa