|
|
57753c |
From 41604531cac69c5591316df32a45bc102effc2c3 Mon Sep 17 00:00:00 2001
|
|
|
57753c |
From: Alex Williamson <alex.williamson@redhat.com>
|
|
|
57753c |
Date: Mon, 3 Mar 2014 18:47:15 +0100
|
|
|
57753c |
Subject: [PATCH 4/7] Ignore PCI autoboot device location if set to 00:00.0
|
|
|
57753c |
|
|
|
57753c |
RH-Author: Alex Williamson <alex.williamson@redhat.com>
|
|
|
57753c |
Message-id: <20140303184715.19235.4758.stgit@bling.home>
|
|
|
57753c |
Patchwork-id: 57979
|
|
|
57753c |
O-Subject: [RHEL7 ipxe PATCH 4/4] [prefix] Ignore PCI autoboot device location if set to 00:00.0
|
|
|
57753c |
Bugzilla: 1031518
|
|
|
57753c |
RH-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
|
57753c |
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
57753c |
RH-Acked-by: Vlad Yasevich <vyasevic@redhat.com>
|
|
|
57753c |
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
|
57753c |
|
|
|
57753c |
From: Michael Brown <mcb30@ipxe.org>
|
|
|
57753c |
|
|
|
57753c |
Bugzilla: 1031518
|
|
|
57753c |
Upstream: ff1e7fc72b138fe66de1452a311b7e871f33e201
|
|
|
57753c |
|
|
|
57753c |
qemu can load an option ROM which is not associated with a particular
|
|
|
57753c |
PCI device using the "-option-rom" syntax. Under these circumstances,
|
|
|
57753c |
we should ignore the PCI bus:dev.fn address that we expect to find in
|
|
|
57753c |
%ax on entry to the initialisation vector.
|
|
|
57753c |
|
|
|
57753c |
Fix by using the PCI bus:dev.fn address only if it is non-zero. Since
|
|
|
57753c |
00:00.0 will always be the host bridge, it can never be the address of
|
|
|
57753c |
a network card.
|
|
|
57753c |
|
|
|
57753c |
Reported-by: Alex Williamson <alex.williamson@redhat.com>
|
|
|
57753c |
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
|
|
57753c |
---
|
|
|
57753c |
src/arch/i386/core/pci_autoboot.c | 6 ++++--
|
|
|
57753c |
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
57753c |
|
|
|
57753c |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
57753c |
---
|
|
|
57753c |
src/arch/i386/core/pci_autoboot.c | 6 ++++--
|
|
|
57753c |
1 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
57753c |
|
|
|
57753c |
diff --git a/src/arch/i386/core/pci_autoboot.c b/src/arch/i386/core/pci_autoboot.c
|
|
|
57753c |
index bbb4027..5e6197e 100644
|
|
|
57753c |
--- a/src/arch/i386/core/pci_autoboot.c
|
|
|
57753c |
+++ b/src/arch/i386/core/pci_autoboot.c
|
|
|
57753c |
@@ -34,8 +34,10 @@ uint16_t __bss16 ( autoboot_busdevfn );
|
|
|
57753c |
*/
|
|
|
57753c |
static void pci_autoboot_init ( void ) {
|
|
|
57753c |
|
|
|
57753c |
- autoboot_device.bus_type = BUS_TYPE_PCI;
|
|
|
57753c |
- autoboot_device.location = autoboot_busdevfn;
|
|
|
57753c |
+ if ( autoboot_busdevfn ) {
|
|
|
57753c |
+ autoboot_device.bus_type = BUS_TYPE_PCI;
|
|
|
57753c |
+ autoboot_device.location = autoboot_busdevfn;
|
|
|
57753c |
+ }
|
|
|
57753c |
}
|
|
|
57753c |
|
|
|
57753c |
/** PCI autoboot device initialisation function */
|
|
|
57753c |
--
|
|
|
57753c |
1.7.1
|
|
|
57753c |
|