qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] rom loading patches
@ 2009-12-16 14:15 Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 1/4] patched seabios binary Gerd Hoffmann
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2009-12-16 14:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Current state of the rom loading patches for testing and discussions.

What is in here:
 #1 new seabios binary for testing convinience, git head as of yesterday
    plus anthonys patches
 #2 anthonys initial patch, unmodified.
 #3 romfile property patch, was already on the list but deep in a
    thread.
 #4 specify romfile in PCIDeviceInfo, which allows to have *no*
    pci rom loading code outside pci.c

We eventually want squash 2-4 together in the final version.

Todo list:
 #1 Figure a sane way to load non-pci option roms (fw_cfg?).
 #2 Anything needed for '-M pc-0.11' ?

A few things are broken (todo #1 will fix them), among them are
'-vga std' and -kernel.

Let the fl^Wdiscussions begin.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 1/4] patched seabios binary
  2009-12-16 14:15 [Qemu-devel] [PATCH 0/4] rom loading patches Gerd Hoffmann
@ 2009-12-16 14:15 ` Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 2/4] Support PCI based option rom loading Gerd Hoffmann
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2009-12-16 14:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann


Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 pc-bios/bios.bin |  Bin 131072 -> 131072 bytes
 1 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin
index 29495801950660c19630444e410ff30d673e46af..4e7ae7efeb5964454d263a8b6482206c9d7bc358 100644
GIT binary patch
literal 131072
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

literal 131072
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
XbdY_vvYmBgPq`*{;x*HzVUqY?{>O0J

-- 
1.6.5.2

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 2/4] Support PCI based option rom loading
  2009-12-16 14:15 [Qemu-devel] [PATCH 0/4] rom loading patches Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 1/4] patched seabios binary Gerd Hoffmann
@ 2009-12-16 14:15 ` Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 3/4] pci: add romfile property Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 4/4] pci: specify default romfile in PCIDeviceInfo Gerd Hoffmann
  3 siblings, 0 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2009-12-16 14:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Gerd Hoffmann

From: Anthony Liguori <aliguori@us.ibm.com>

Currently, we preload option roms into the option rom space in memory.  This
prevents DDIM from functioning correctly which severely limits the number
of roms we can support.

This patch introduces a pci_add_option_rom() which registers the
PCI_ROM_ADDRESS bar which points to our option rom.  It also converts over
the cirrus vga adapter, the rtl8139, virtio, and the e1000 to use this
new mechanism.

The result is that PXE boot functions even with three unique types of cards.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/cirrus_vga.c |    2 +-
 hw/e1000.c      |    2 +-
 hw/pci.c        |   35 +++++++++++++++++++++++++++++++++++
 hw/pci.h        |    5 +++++
 hw/rtl8139.c    |    2 +-
 hw/virtio-pci.c |    2 +-
 6 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 24af81c..b08d2ae 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -3211,7 +3211,7 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
      }
 
      /* ROM BIOS */
-     rom_add_vga(VGABIOS_CIRRUS_FILENAME);
+     pci_add_option_rom((PCIDevice *)d, VGABIOS_CIRRUS_FILENAME);
      return 0;
 }
 
diff --git a/hw/e1000.c b/hw/e1000.c
index 8566fe3..f795601 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -1125,7 +1125,7 @@ static int pci_e1000_init(PCIDevice *pci_dev)
     if (!pci_dev->qdev.hotplugged) {
         static int loaded = 0;
         if (!loaded) {
-            rom_add_option("pxe-e1000.bin");
+            pci_add_option_rom(&d->dev, "pxe-e1000.bin");
             loaded = 1;
         }
     }
diff --git a/hw/pci.c b/hw/pci.c
index 404eead..dbdfdbf 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -26,6 +26,7 @@
 #include "monitor.h"
 #include "net.h"
 #include "sysemu.h"
+#include "loader.h"
 
 //#define DEBUG_PCI
 #ifdef DEBUG_PCI
@@ -1463,6 +1464,40 @@ static uint8_t pci_find_capability_list(PCIDevice *pdev, uint8_t cap_id,
     return next;
 }
 
+static void pci_map_option_rom(PCIDevice *pdev, int region_num, pcibus_t addr, pcibus_t size, int type)
+{
+    cpu_register_physical_memory(addr, size, pdev->rom_offset);
+}
+
+/* Add an option rom for the device */
+int pci_add_option_rom(PCIDevice *pdev, const char *name)
+{
+    int size;
+    char *path;
+    void *ptr;
+
+    path = qemu_find_file(QEMU_FILE_TYPE_BIOS, name);
+    if (path == NULL) {
+        path = qemu_strdup(name);
+    }
+
+    size = get_image_size(path);
+    if (size & (size - 1)) {
+        size = 1 << qemu_fls(size);
+    }
+
+    pdev->rom_offset = qemu_ram_alloc(size);
+
+    ptr = qemu_get_ram_ptr(pdev->rom_offset);
+    load_image(path, ptr);
+    qemu_free(path);
+
+    pci_register_bar(pdev, PCI_ROM_SLOT, size,
+                     0, pci_map_option_rom);
+
+    return 0;
+}
+
 /* Reserve space and add capability to the linked list in pci config space */
 int pci_add_capability(PCIDevice *pdev, uint8_t cap_id, uint8_t size)
 {
diff --git a/hw/pci.h b/hw/pci.h
index d279e3f..89b3f55 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -243,6 +243,9 @@ struct PCIDevice {
     uint32_t msix_bar_size;
     /* Version id needed for VMState */
     int32_t version_id;
+
+    /* Location of option rom */
+    ram_addr_t rom_offset;
 };
 
 PCIDevice *pci_register_device(PCIBus *bus, const char *name,
@@ -254,6 +257,8 @@ void pci_register_bar(PCIDevice *pci_dev, int region_num,
                             pcibus_t size, int type,
                             PCIMapIORegionFunc *map_func);
 
+int pci_add_option_rom(PCIDevice *pdev, const char *name);
+
 int pci_add_capability(PCIDevice *pci_dev, uint8_t cap_id, uint8_t cap_size);
 
 void pci_del_capability(PCIDevice *pci_dev, uint8_t cap_id, uint8_t cap_size);
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index 9fd05a8..2cee97b 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -3357,7 +3357,7 @@ static int pci_rtl8139_init(PCIDevice *dev)
     if (!dev->qdev.hotplugged) {
         static int loaded = 0;
         if (!loaded) {
-            rom_add_option("pxe-rtl8139.bin");
+            pci_add_option_rom(&s->dev, "pxe-rtl8139.bin");
             loaded = 1;
         }
     }
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index 4500130..85f14a2 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -522,7 +522,7 @@ static int virtio_net_init_pci(PCIDevice *pci_dev)
     if (!pci_dev->qdev.hotplugged) {
         static int loaded = 0;
         if (!loaded) {
-            rom_add_option("pxe-virtio.bin");
+            pci_add_option_rom(pci_dev, "pxe-virtio.bin");
             loaded = 1;
         }
     }
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 3/4] pci: add romfile property
  2009-12-16 14:15 [Qemu-devel] [PATCH 0/4] rom loading patches Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 1/4] patched seabios binary Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 2/4] Support PCI based option rom loading Gerd Hoffmann
@ 2009-12-16 14:15 ` Gerd Hoffmann
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 4/4] pci: specify default romfile in PCIDeviceInfo Gerd Hoffmann
  3 siblings, 0 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2009-12-16 14:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann


Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/cirrus_vga.c |    4 +++-
 hw/e1000.c      |    8 ++------
 hw/pci.c        |   19 ++++++++++++++++---
 hw/pci.h        |    3 +--
 hw/rtl8139.c    |    8 ++------
 hw/virtio-pci.c |    8 ++------
 6 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index b08d2ae..b2886c4 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -3211,7 +3211,9 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
      }
 
      /* ROM BIOS */
-     pci_add_option_rom((PCIDevice *)d, VGABIOS_CIRRUS_FILENAME);
+     if (dev->rom_filename == NULL) {
+         dev->rom_filename = qemu_strdup(VGABIOS_CIRRUS_FILENAME);
+     }
      return 0;
 }
 
diff --git a/hw/e1000.c b/hw/e1000.c
index f795601..021f666 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -1122,12 +1122,8 @@ static int pci_e1000_init(PCIDevice *pci_dev)
 
     qemu_format_nic_info_str(&d->nic->nc, macaddr);
 
-    if (!pci_dev->qdev.hotplugged) {
-        static int loaded = 0;
-        if (!loaded) {
-            pci_add_option_rom(&d->dev, "pxe-e1000.bin");
-            loaded = 1;
-        }
+    if (pci_dev->rom_filename == NULL) {
+        pci_dev->rom_filename = qemu_strdup("pxe-e1000.bin");
     }
     return 0;
 }
diff --git a/hw/pci.c b/hw/pci.c
index dbdfdbf..3ff7d0c 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -63,12 +63,14 @@ static struct BusInfo pci_bus_info = {
     .print_dev  = pcibus_dev_print,
     .props      = (Property[]) {
         DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1),
+        DEFINE_PROP_STRING("romfile", PCIDevice, rom_filename),
         DEFINE_PROP_END_OF_LIST()
     }
 };
 
 static void pci_update_mappings(PCIDevice *d);
 static void pci_set_irq(void *opaque, int irq_num, int level);
+static int pci_add_option_rom(PCIDevice *pdev);
 
 target_phys_addr_t pci_mem_base;
 static uint16_t pci_default_sub_vendor_id = PCI_SUBVENDOR_ID_REDHAT_QUMRANET;
@@ -1387,6 +1389,7 @@ static int pci_qdev_init(DeviceState *qdev, DeviceInfo *base)
     rc = info->init(pci_dev);
     if (rc != 0)
         return rc;
+    pci_add_option_rom(pci_dev);
     if (qdev->hotplugged)
         bus->hotplug(pci_dev, 1);
     return 0;
@@ -1470,18 +1473,28 @@ static void pci_map_option_rom(PCIDevice *pdev, int region_num, pcibus_t addr, p
 }
 
 /* Add an option rom for the device */
-int pci_add_option_rom(PCIDevice *pdev, const char *name)
+static int pci_add_option_rom(PCIDevice *pdev)
 {
     int size;
     char *path;
     void *ptr;
 
-    path = qemu_find_file(QEMU_FILE_TYPE_BIOS, name);
+    if (!pdev->rom_filename)
+        return 0;
+    if (strlen(pdev->rom_filename) == 0)
+        return 0;
+
+    path = qemu_find_file(QEMU_FILE_TYPE_BIOS, pdev->rom_filename);
     if (path == NULL) {
-        path = qemu_strdup(name);
+        path = qemu_strdup(pdev->rom_filename);
     }
 
     size = get_image_size(path);
+    if (size < 0) {
+        qemu_error("%s: failed to find romfile \"%s\"\n", __FUNCTION__,
+                   pdev->rom_filename);
+        return -1;
+    }
     if (size & (size - 1)) {
         size = 1 << qemu_fls(size);
     }
diff --git a/hw/pci.h b/hw/pci.h
index 89b3f55..c27e800 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -245,6 +245,7 @@ struct PCIDevice {
     int32_t version_id;
 
     /* Location of option rom */
+    char *rom_filename;
     ram_addr_t rom_offset;
 };
 
@@ -257,8 +258,6 @@ void pci_register_bar(PCIDevice *pci_dev, int region_num,
                             pcibus_t size, int type,
                             PCIMapIORegionFunc *map_func);
 
-int pci_add_option_rom(PCIDevice *pdev, const char *name);
-
 int pci_add_capability(PCIDevice *pci_dev, uint8_t cap_id, uint8_t cap_size);
 
 void pci_del_capability(PCIDevice *pci_dev, uint8_t cap_id, uint8_t cap_size);
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index 2cee97b..d096711 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -3354,12 +3354,8 @@ static int pci_rtl8139_init(PCIDevice *dev)
         rtl8139_get_next_tctr_time(s,qemu_get_clock(vm_clock)));
 #endif /* RTL8139_ONBOARD_TIMER */
 
-    if (!dev->qdev.hotplugged) {
-        static int loaded = 0;
-        if (!loaded) {
-            pci_add_option_rom(&s->dev, "pxe-rtl8139.bin");
-            loaded = 1;
-        }
+    if (dev->rom_filename == NULL) {
+        dev->rom_filename = qemu_strdup("pxe-rtl8139.bin");
     }
     return 0;
 }
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index 85f14a2..e38fe70 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -519,12 +519,8 @@ static int virtio_net_init_pci(PCIDevice *pci_dev)
     /* make the actual value visible */
     proxy->nvectors = vdev->nvectors;
 
-    if (!pci_dev->qdev.hotplugged) {
-        static int loaded = 0;
-        if (!loaded) {
-            pci_add_option_rom(pci_dev, "pxe-virtio.bin");
-            loaded = 1;
-        }
+    if (pci_dev->rom_filename == NULL) {
+        pci_dev->rom_filename = qemu_strdup("pxe-virtio.bin");
     }
     return 0;
 }
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 4/4] pci: specify default romfile in PCIDeviceInfo.
  2009-12-16 14:15 [Qemu-devel] [PATCH 0/4] rom loading patches Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2009-12-16 14:15 ` [Qemu-devel] [PATCH 3/4] pci: add romfile property Gerd Hoffmann
@ 2009-12-16 14:15 ` Gerd Hoffmann
  3 siblings, 0 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2009-12-16 14:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann


Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/cirrus_vga.c |    6 +-----
 hw/e1000.c      |    5 +----
 hw/pci.c        |   17 +++++++++++------
 hw/pci.h        |    5 ++++-
 hw/rtl8139.c    |    5 +----
 hw/virtio-pci.c |    5 +----
 6 files changed, 19 insertions(+), 24 deletions(-)

diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index b2886c4..6fe433d 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -3209,11 +3209,6 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
          pci_register_bar((PCIDevice *)d, 1, CIRRUS_PNPMMIO_SIZE,
                           PCI_BASE_ADDRESS_SPACE_MEMORY, cirrus_pci_mmio_map);
      }
-
-     /* ROM BIOS */
-     if (dev->rom_filename == NULL) {
-         dev->rom_filename = qemu_strdup(VGABIOS_CIRRUS_FILENAME);
-     }
      return 0;
 }
 
@@ -3228,6 +3223,7 @@ static PCIDeviceInfo cirrus_vga_info = {
     .qdev.size    = sizeof(PCICirrusVGAState),
     .qdev.vmsd    = &vmstate_pci_cirrus_vga,
     .init         = pci_cirrus_vga_initfn,
+    .romfile      = VGABIOS_CIRRUS_FILENAME,
     .config_write = pci_cirrus_write_config,
 };
 
diff --git a/hw/e1000.c b/hw/e1000.c
index 021f666..33c4bc6 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -1121,10 +1121,6 @@ static int pci_e1000_init(PCIDevice *pci_dev)
                           d->dev.qdev.info->name, d->dev.qdev.id, d);
 
     qemu_format_nic_info_str(&d->nic->nc, macaddr);
-
-    if (pci_dev->rom_filename == NULL) {
-        pci_dev->rom_filename = qemu_strdup("pxe-e1000.bin");
-    }
     return 0;
 }
 
@@ -1142,6 +1138,7 @@ static PCIDeviceInfo e1000_info = {
     .qdev.vmsd  = &vmstate_e1000,
     .init       = pci_e1000_init,
     .exit       = pci_e1000_uninit,
+    .romfile    = "pxe-e1000.bin",
     .qdev.props = (Property[]) {
         DEFINE_NIC_PROPERTIES(E1000State, conf),
         DEFINE_PROP_END_OF_LIST(),
diff --git a/hw/pci.c b/hw/pci.c
index 3ff7d0c..d54f05e 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -63,7 +63,7 @@ static struct BusInfo pci_bus_info = {
     .print_dev  = pcibus_dev_print,
     .props      = (Property[]) {
         DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1),
-        DEFINE_PROP_STRING("romfile", PCIDevice, rom_filename),
+        DEFINE_PROP_STRING("romfile", PCIDevice, romfile),
         DEFINE_PROP_END_OF_LIST()
     }
 };
@@ -1389,7 +1389,12 @@ static int pci_qdev_init(DeviceState *qdev, DeviceInfo *base)
     rc = info->init(pci_dev);
     if (rc != 0)
         return rc;
+
+    /* rom loading */
+    if (pci_dev->romfile == NULL && info->romfile != NULL)
+        pci_dev->romfile = qemu_strdup(info->romfile);
     pci_add_option_rom(pci_dev);
+
     if (qdev->hotplugged)
         bus->hotplug(pci_dev, 1);
     return 0;
@@ -1479,20 +1484,20 @@ static int pci_add_option_rom(PCIDevice *pdev)
     char *path;
     void *ptr;
 
-    if (!pdev->rom_filename)
+    if (!pdev->romfile)
         return 0;
-    if (strlen(pdev->rom_filename) == 0)
+    if (strlen(pdev->romfile) == 0)
         return 0;
 
-    path = qemu_find_file(QEMU_FILE_TYPE_BIOS, pdev->rom_filename);
+    path = qemu_find_file(QEMU_FILE_TYPE_BIOS, pdev->romfile);
     if (path == NULL) {
-        path = qemu_strdup(pdev->rom_filename);
+        path = qemu_strdup(pdev->romfile);
     }
 
     size = get_image_size(path);
     if (size < 0) {
         qemu_error("%s: failed to find romfile \"%s\"\n", __FUNCTION__,
-                   pdev->rom_filename);
+                   pdev->romfile);
         return -1;
     }
     if (size & (size - 1)) {
diff --git a/hw/pci.h b/hw/pci.h
index c27e800..39da7df 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -245,7 +245,7 @@ struct PCIDevice {
     int32_t version_id;
 
     /* Location of option rom */
-    char *rom_filename;
+    char *romfile;
     ram_addr_t rom_offset;
 };
 
@@ -385,6 +385,9 @@ typedef struct {
 
     /* pcie stuff */
     int is_express;   /* is this device pci express? */
+
+    /* rom bar */
+    const char *romfile;
 } PCIDeviceInfo;
 
 void pci_qdev_register(PCIDeviceInfo *info);
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index d096711..fcdcd1d 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -3353,10 +3353,6 @@ static int pci_rtl8139_init(PCIDevice *dev)
     qemu_mod_timer(s->timer,
         rtl8139_get_next_tctr_time(s,qemu_get_clock(vm_clock)));
 #endif /* RTL8139_ONBOARD_TIMER */
-
-    if (dev->rom_filename == NULL) {
-        dev->rom_filename = qemu_strdup("pxe-rtl8139.bin");
-    }
     return 0;
 }
 
@@ -3367,6 +3363,7 @@ static PCIDeviceInfo rtl8139_info = {
     .qdev.vmsd  = &vmstate_rtl8139,
     .init       = pci_rtl8139_init,
     .exit       = pci_rtl8139_uninit,
+    .romfile    = "pxe-rtl8139.bin",
     .qdev.props = (Property[]) {
         DEFINE_NIC_PROPERTIES(RTL8139State, conf),
         DEFINE_PROP_END_OF_LIST(),
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index e38fe70..62b46bd 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -518,10 +518,6 @@ static int virtio_net_init_pci(PCIDevice *pci_dev)
 
     /* make the actual value visible */
     proxy->nvectors = vdev->nvectors;
-
-    if (pci_dev->rom_filename == NULL) {
-        pci_dev->rom_filename = qemu_strdup("pxe-virtio.bin");
-    }
     return 0;
 }
 
@@ -565,6 +561,7 @@ static PCIDeviceInfo virtio_info[] = {
         .qdev.size  = sizeof(VirtIOPCIProxy),
         .init       = virtio_net_init_pci,
         .exit       = virtio_net_exit_pci,
+        .romfile    = "pxe-virtio.bin",
         .qdev.props = (Property[]) {
             DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 3),
             DEFINE_NIC_PROPERTIES(VirtIOPCIProxy, nic),
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-12-16 14:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-16 14:15 [Qemu-devel] [PATCH 0/4] rom loading patches Gerd Hoffmann
2009-12-16 14:15 ` [Qemu-devel] [PATCH 1/4] patched seabios binary Gerd Hoffmann
2009-12-16 14:15 ` [Qemu-devel] [PATCH 2/4] Support PCI based option rom loading Gerd Hoffmann
2009-12-16 14:15 ` [Qemu-devel] [PATCH 3/4] pci: add romfile property Gerd Hoffmann
2009-12-16 14:15 ` [Qemu-devel] [PATCH 4/4] pci: specify default romfile in PCIDeviceInfo Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).