On 08.04.2025 15:23, Marek Marczykowski-Górecki wrote: > --- a/tools/firmware/hvmloader/pci.c > +++ b/tools/firmware/hvmloader/pci.c > @@ -173,6 +173,7 @@ void pci_setup(void) > switch ( class ) > { > case 0x0300: > + case 0x0380: > /* If emulated VGA is found, preserve it as primary VGA. */ > if ( (vendor_id == 0x1234) && (device_id == 0x1111) ) > {
Unlike here, where vendor IDs are subsequently checked (and the sole question that arises is whether any of the combinations can actually come as Display rather than VGA), ... > --- a/tools/libs/light/libxl_pci.c > +++ b/tools/libs/light/libxl_pci.c > @@ -2575,7 +2575,8 @@ int libxl__grant_vga_iomem_permission(libxl__gc *gc, > const uint32_t domid, > > if (sysfs_dev_get_class(gc, pci, &pci_device_class)) > continue; > - if (pci_device_class != 0x030000) /* VGA class */ > + if (pci_device_class != 0x030000 && /* VGA class */ > + pci_device_class != 0x038000) /* Display class */ > continue; ... there's no such checking here, and instead very much VGA-specific things are being done then. Is that really in line with permitting Display class devices here as well? Jan