Patchwork nic: zap obsolote romloading bits from ne2k + pcnet

login
register
mail settings
Submitter Gerd Hoffmann
Date Jan. 26, 2012, 2:19 p.m.
Message ID <1327587549-10850-1-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/137928/
State New
Headers show

Comments

Gerd Hoffmann - Jan. 26, 2012, 2:19 p.m.
These days one just needs to specify the romfile in PCiDeviceInfo and
everything magically works.  It also allows to disable pxe rom loading
via "romfile=<emptystring>" like it is possible for all other nics.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/ne2000.c    |    9 +--------
 hw/pcnet-pci.c |    9 +--------
 2 files changed, 2 insertions(+), 16 deletions(-)
Anthony Liguori - Feb. 1, 2012, 10:25 p.m.
On 01/26/2012 08:19 AM, Gerd Hoffmann wrote:
> These days one just needs to specify the romfile in PCiDeviceInfo and
> everything magically works.  It also allows to disable pxe rom loading
> via "romfile=<emptystring>" like it is possible for all other nics.
>
> Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>

This needs rebasing.

Regards,

Anthony Liguori

> ---
>   hw/ne2000.c    |    9 +--------
>   hw/pcnet-pci.c |    9 +--------
>   2 files changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/hw/ne2000.c b/hw/ne2000.c
> index 62e082f..83328bb 100644
> --- a/hw/ne2000.c
> +++ b/hw/ne2000.c
> @@ -763,14 +763,6 @@ static int pci_ne2000_init(PCIDevice *pci_dev)
>                             pci_dev->qdev.info->name, pci_dev->qdev.id, s);
>       qemu_format_nic_info_str(&s->nic->nc, s->c.macaddr.a);
>
> -    if (!pci_dev->qdev.hotplugged) {
> -        static int loaded = 0;
> -        if (!loaded) {
> -            rom_add_option("pxe-ne2k_pci.rom", -1);
> -            loaded = 1;
> -        }
> -    }
> -
>       add_boot_device_path(s->c.bootindex,&pci_dev->qdev, "/ethernet-phy@0");
>
>       return 0;
> @@ -792,6 +784,7 @@ static PCIDeviceInfo ne2000_info = {
>       .qdev.vmsd  =&vmstate_pci_ne2000,
>       .init       = pci_ne2000_init,
>       .exit       = pci_ne2000_exit,
> +    .romfile    = "pxe-ne2k_pci.rom",
>       .vendor_id  = PCI_VENDOR_ID_REALTEK,
>       .device_id  = PCI_DEVICE_ID_REALTEK_8029,
>       .class_id   = PCI_CLASS_NETWORK_ETHERNET,
> diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
> index 4e164da..2f333e2 100644
> --- a/hw/pcnet-pci.c
> +++ b/hw/pcnet-pci.c
> @@ -330,14 +330,6 @@ static int pci_pcnet_init(PCIDevice *pci_dev)
>       s->phys_mem_write = pci_physical_memory_write;
>       s->dma_opaque = pci_dev;
>
> -    if (!pci_dev->qdev.hotplugged) {
> -        static int loaded = 0;
> -        if (!loaded) {
> -            rom_add_option("pxe-pcnet.rom", -1);
> -            loaded = 1;
> -        }
> -    }
> -
>       return pcnet_common_init(&pci_dev->qdev, s,&net_pci_pcnet_info);
>   }
>
> @@ -355,6 +347,7 @@ static PCIDeviceInfo pcnet_info = {
>       .qdev.vmsd  =&vmstate_pci_pcnet,
>       .init       = pci_pcnet_init,
>       .exit       = pci_pcnet_uninit,
> +    .romfile    = "pxe-pcnet.rom",
>       .vendor_id  = PCI_VENDOR_ID_AMD,
>       .device_id  = PCI_DEVICE_ID_AMD_LANCE,
>       .revision   = 0x10,

Patch

diff --git a/hw/ne2000.c b/hw/ne2000.c
index 62e082f..83328bb 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -763,14 +763,6 @@  static int pci_ne2000_init(PCIDevice *pci_dev)
                           pci_dev->qdev.info->name, pci_dev->qdev.id, s);
     qemu_format_nic_info_str(&s->nic->nc, s->c.macaddr.a);
 
-    if (!pci_dev->qdev.hotplugged) {
-        static int loaded = 0;
-        if (!loaded) {
-            rom_add_option("pxe-ne2k_pci.rom", -1);
-            loaded = 1;
-        }
-    }
-
     add_boot_device_path(s->c.bootindex, &pci_dev->qdev, "/ethernet-phy@0");
 
     return 0;
@@ -792,6 +784,7 @@  static PCIDeviceInfo ne2000_info = {
     .qdev.vmsd  = &vmstate_pci_ne2000,
     .init       = pci_ne2000_init,
     .exit       = pci_ne2000_exit,
+    .romfile    = "pxe-ne2k_pci.rom",
     .vendor_id  = PCI_VENDOR_ID_REALTEK,
     .device_id  = PCI_DEVICE_ID_REALTEK_8029,
     .class_id   = PCI_CLASS_NETWORK_ETHERNET,
diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
index 4e164da..2f333e2 100644
--- a/hw/pcnet-pci.c
+++ b/hw/pcnet-pci.c
@@ -330,14 +330,6 @@  static int pci_pcnet_init(PCIDevice *pci_dev)
     s->phys_mem_write = pci_physical_memory_write;
     s->dma_opaque = pci_dev;
 
-    if (!pci_dev->qdev.hotplugged) {
-        static int loaded = 0;
-        if (!loaded) {
-            rom_add_option("pxe-pcnet.rom", -1);
-            loaded = 1;
-        }
-    }
-
     return pcnet_common_init(&pci_dev->qdev, s, &net_pci_pcnet_info);
 }
 
@@ -355,6 +347,7 @@  static PCIDeviceInfo pcnet_info = {
     .qdev.vmsd  = &vmstate_pci_pcnet,
     .init       = pci_pcnet_init,
     .exit       = pci_pcnet_uninit,
+    .romfile    = "pxe-pcnet.rom",
     .vendor_id  = PCI_VENDOR_ID_AMD,
     .device_id  = PCI_DEVICE_ID_AMD_LANCE,
     .revision   = 0x10,