Tested this on desktop-class machine where IOAPIC does not make PCI appearence, and on the Skylake server. There currently the DMAR scope entries for uncore IOAPICs still have length two and since no bus renumbering occured, the PCI rid and scope rid are equal.
I checked that legacy interrupts still work:
```
flix1a% vmstat -i | grep -v cpu
interrupt total rate
irq3: uart1 134 0
irq16: xhci0 255 1
irq264: em0:rxq0 449 1
irq265: em0:rxq1 66307 169
irq266: em0:aq 2 0
```
Also apparently PCI BARs for IOAPICs are not mapped. The attach process triggers the resource allocation.
```
flix1a% dmesg | grep BAR0
ioapic0: pci0:133:5:4 pci BAR0@e0f00000 id 0 MADT id 0 paddr@fec00000
ioapic1: pci0:174:5:4 pci BAR0@ee700000 id 1 MADT id 1 paddr@fec01000
ioapic2: pci0:215:5:4 pci BAR0@fbf00000 id 2 MADT id 2 paddr@fec08000
```