mirror of https://github.com/ipxe/ipxe.git
[prefix] Ignore PCI autoboot device location if set to 00:00.0
qemu can load an option ROM which is not associated with a particular PCI device using the "-option-rom" syntax. Under these circumstances, we should ignore the PCI bus:dev.fn address that we expect to find in %ax on entry to the initialisation vector. Fix by using the PCI bus:dev.fn address only if it is non-zero. Since 00:00.0 will always be the host bridge, it can never be the address of a network card. Reported-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/17/head
parent
c429bf0aa2
commit
ff1e7fc72b
|
@ -34,8 +34,10 @@ uint16_t __bss16 ( autoboot_busdevfn );
|
|||
*/
|
||||
static void pci_autoboot_init ( void ) {
|
||||
|
||||
autoboot_device.bus_type = BUS_TYPE_PCI;
|
||||
autoboot_device.location = autoboot_busdevfn;
|
||||
if ( autoboot_busdevfn ) {
|
||||
autoboot_device.bus_type = BUS_TYPE_PCI;
|
||||
autoboot_device.location = autoboot_busdevfn;
|
||||
}
|
||||
}
|
||||
|
||||
/** PCI autoboot device initialisation function */
|
||||
|
|
Loading…
Reference in New Issue