[vfio-users] "Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff" when attempting to dump PCI ROM

Alex Williamson alex.williamson at redhat.com
Mon Mar 11 14:08:30 UTC 2019


On Mon, 11 Mar 2019 01:46:03 -0400
Nicolas Roy-Renaud <nicolas.roy-renaud.1 at ens.etsmtl.ca> wrote:

> Hey, Alex, thanks for replying.
> 
> It seems like you're right on the Mem- part.
> 
> [user at OCCAM ~]$ lspci -s 07:00.0 -vvv
> 07:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1) (prog-if 00 [VGA controller])
> 	Subsystem: ASUSTeK Computer Inc. GM204 [GeForce GTX 970]
> 	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
> 
> For comparison, here's the result from last boot after firing up and 
> shutting down a VM using that device:
> 
> [user at OCCAM ~]$ lspci -s 07:00.0 -vvv
> 07:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1) (prog-if 00 [VGA controller])
> 	Subsystem: ASUSTeK Computer Inc. GM204 [GeForce GTX 970]
> 	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
> 
> Yet when I try enabling the device, I get this :
> 
> [root at OCCAM user]# echo 1 > /sys/bus/pci/devices/0000:07:00.0/enable
> bash: echo: write error: Device or resource busy

You probably have a driver attached to the device, looks like this
interface won't work in that case.  You could unbind the device from
any driver first.  Alternatively you could manually manipulate the
memory enable bit with setpci:

setpci -s 07:00.0 COMMAND=2:2

Clear after with:

setpci -s 07:00.0 COMMAND=0:2

This won't bring the device out of D3 power state like the enable file
will, so if you still have problems and it's bound to vfio-pci, you
might want to boot with vfio-pci.disable_idle_d3=1 on the kernel
command line.  Thanks,

Alex




More information about the vfio-users mailing list