On 01/03/2020 18:53, BALATON Zoltan wrote:

> On Sun, 1 Mar 2020, BALATON Zoltan wrote:
>> is not legacy mode but "not 100% native mode". The prog-if is set to 0x8a 
>> which
>> corresponds to native mode but this is what the Linux fixup function does, 
>> firmware
>> sets it to 0x8f which means native mode.
> 
> I mean, 0x8a legacy mode and 0x8f native mode, I see firmware poking 0x8f and 
> Amiga
> like OSes reading that yet expecting legacy interrupts. Linux fixes up 
> prog-if so its
> driver detects legacy interrupts but still uses ioports from PCI BARs.

I see. Note that it is also possible to have a prog-if value of 0x80 which is 
where
the hardware is locked into legacy mode via a pull-down resistor. Perhaps this 
is the
case for Pegasos, since it would explain why attempts to switch the mode via 
prog-if
are ignored?

I don't see the PCI BARs being a problem since native drivers wouldn't touch the
memory/IO space enable bits, and the BARs are disabled by default. It could 
just be
that the VIA chipset simply doesn't lock the PCI memory/IO space bits in
compatibility mode if an OS does decide to use them and program the BARs as it 
would
in native mode.


ATB,

Mark.

Reply via email to