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. > > [1]: > https://mail.coreboot.org/hyperkitty/list/seab...@seabios.org/thread/XG2RN3HKVRDEDTLA2PRELLIENIIH7II7/#XVP3I2KQVZHSTDA4SNVKOITWGRGSDU3F > > Signed-off-by: Laszlo Ersek <ler...@redhat.com>
Please make this a "Suggested-by: Laszlo Ersek <ler...@redhat.com>" (concerning the text in the patch body). The commit message looks OK to me, but I'd like Gerd and/or Alex to approve it. Thanks! Laszlo > Signed-off-by: Kevin Locke <ke...@kevinlocke.name> > --- > Changes since v1: > * Replace my overly-broad exception for devices requiring ioport access > with a list item specifically for PCI Express devices offering VGA > Compatibility provided by Laszlo Ersek. > * Rewrite the commit message based on my improved understanding of the > issue and the improved scope of the change. > > P.S. Let me know if the Signed-off-by tag is not appropriate for either > of us. I'm not clear on the etiquette of including someone else's > sign-off, but also don't want to misrepresent myself as the source of > your work. > > docs/pcie.txt | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/docs/pcie.txt b/docs/pcie.txt > index 89e3502075..59b26817f9 100644 > --- a/docs/pcie.txt > +++ b/docs/pcie.txt > @@ -48,13 +48,17 @@ Place only the following kinds of devices directly on the > Root Complex: > strangely when PCI Express devices are integrated > with the Root Complex. > > - (2) PCI Express Root Ports (ioh3420), for starting exclusively PCI > Express > + (2) Assigned PCI Express GPUs that offer legacy VGA compatibility, and > + that such compatibility is expected of (due to booting with SeaBIOS, > + or due to UEFI driver bugs or native OS driver bugs). > + > + (3) PCI Express Root Ports (ioh3420), for starting exclusively PCI > Express > hierarchies. > > - (3) PCI Express to PCI Bridge (pcie-pci-bridge), for starting legacy PCI > + (4) PCI Express to PCI Bridge (pcie-pci-bridge), for starting legacy PCI > hierarchies. > > - (4) Extra Root Complexes (pxb-pcie), if multiple PCI Express Root Buses > + (5) Extra Root Complexes (pxb-pcie), if multiple PCI Express Root Buses > are needed. > > pcie.0 bus >