Well, as you say the PIIX(3) is the PCI to ISA adapter and also manages the PCI IRQs to PIC mapping.
I've implemented the PIIX on the Compaq Deskpro 386's PCI bus (at 00:0.0, with 00:0.1 disabled(only enabled on the i430fx/i440fx/i450gx chipsets) and 00:1.0 being a normal PCI IDE controller instead of on the PIIX, mapping INTA# to PIRQ0/PIRQA on the PIIX). The PIIX is also modified on the Compaq Deskpro 386 to force reporting as a single-function device.
On the i430fx and compatible chipsets(i440fx) said PIIX is moved to the PCI IDE slot with 2 functions and the plain PCI IDE being removed from the PCI space(it's replaced by 00:1.1 instead on the PIIX). With those, 00:0.0 is the northbridge CPU host chip, which isn't present on the Compaq Deskpro 386.
In both cases, the 00:1 is mapped to slot 1, so INTA#=PIRQ0.
The issue with Windows 95 booting and hanging on interrupts might be a different bug altogether? I see that the ISR=IRR=01h, together with the shadow registers keeping parallel IRQ line state. Although on AT and up, the only parallel lines are the legacy ones(parallel line #0-Fh, depending on emulated device, 0 for most devices, fixed) and PCI mapped lines(PIRQ0-3 which map to parallel lines 10h-40h, in 10h increments (10h,2oh,30h and 40h) to facilitate proper remapping with the 4 PIRQ registers on the PIIX/PIIX3/SIO.A southbridges).
Edit: Just was thinking. osdev.org also mentions a 16-bit PCI addressing using I/O ports CF8 and C000h+. Isn't that ISA PNP, essentially PCI on ISA buses? PCI mechaniam #2 it calls it.
https://fd.lod.bz/rbil/ports/bios_expansion/p … .html#sect-9178
Edit: Just found a bug in the interrupt controller that made it perform some APIC (both IOAPIC and Local APIC) operations when it shouldn't (just use the PIC, as there is no Local APIC before Pentium chips (80(1/2/3/4)86) and no IOAPIC on non-i430fx emulated boards in UniPCemu(Compaq Deskpro 386, AT or XT)).