On Mon, Jun 13, 2022 at 03:47:04PM +0200, Laszlo Ersek wrote: > On 06/12/22 19:32, Kevin Locke wrote: > > PCI Express devices which use legacy VGA compatibility should be placed > > on the Root Complex. This simplifies ioport access to VGA registers, > > which requires use of a special exception bit to work across PCI(e) > > bridges. It is also necessary for ioport access to VESA BIOS Extension > > (VBE) registers, which is not forwarded over PCI(e) bridges, even with > > the special exception bit for VGA register access.[1] > > > > Update the PCI Express Guidelines to add these to the list of devices > > which can be placed directly on the Root Complex. > > > > Note that the only PCI Express display devices currently supported > > (bochs-display and virtio-gpu-pci) do not offer VGA compatibility. > > Legacy PCI devices (e.g. vga, qxl-vga, virtio-vga) are already > > documented as allowed on the Root Complex by the first item in the list. > > However, this item documents an additional consideration for placing > > devices which was not previously mentioned, and may be relevant for PCIe > > devices offering VGA compatibility in the future.
Well, the *key* problem is emulated VGA devices with VBE registers in io address space, because those are not forwarded over bridges. For normal VGA registers this isn't much of a problem (in theory, not fully sure whenever that holds in practice, Alex?). The linux kernel knows how to use the bridge control register to manage access to VGA registers. So, if the document already covers vga & qxl & virtio-vga (didn't check that beforehand) I'm not sure we actually need an update ... take care, Gerd