Hi, On 4/6/20 3:06 PM, André Przywara wrote: > >> @@ -792,7 +796,11 @@ static int vfio_pci_fixup_cfg_space(struct vfio_device *vdev) >> >> /* Install our fake Configuration Space */ >> info = &vdev->regions[VFIO_PCI_CONFIG_REGION_INDEX].info; >> - hdr_sz = PCI_DEV_CFG_SIZE; >> + /* >> + * We don't touch the extended configuration space, let's be cautious >> + * and not overwrite it all with zeros, or bad things might happen. >> + */ >> + hdr_sz = PCI_CFG_SPACE_SIZE; > This breaks compilation on x86, do we miss to include a header file? > Works on arm64, though... I've been able to reproduce it on an x86 laptop with Ubuntu 16.04. You've stumbled upon the reason I switched to using numbers for PCI_DEV_CFG_SIZE instead of using the defines PCI_CFG_SPACE_SIZE and PCI_CFG_SPACE_EXP_SIZE from linux/pci_regs.h: those defines don't exist on some distros. When that happened to Sami on arm64, I made the change to PCI_DEV_CFG_SIZE, but I forgot to change it here. I'll switch to using 256. For the record, x86 compiles fine on the x86 machine which I used for testing. Thanks, Alex > > Cheers, > Andre.