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.