Patchwork [v2] nic: zap obsolote romloading bits from ne2k + pcnet

login
register
mail settings
Submitter Gerd Hoffmann
Date Feb. 8, 2012, 3:02 p.m.
Message ID <1328713331-30985-1-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/140151/
State New
Headers show

Comments

Gerd Hoffmann - Feb. 8, 2012, 3:02 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.

[ v2: rebased & adapted to qom changes ]

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/ne2000.c    |    9 +--------
 hw/pcnet-pci.c |    9 +--------
 2 files changed, 2 insertions(+), 16 deletions(-)
Gerd Hoffmann - Feb. 24, 2012, 10:33 a.m.
On 02/08/12 16:02, 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.
> 
> [ v2: rebased & adapted to qom changes ]

ping?

cheers,
  Gerd
Anthony Liguori - Feb. 24, 2012, 7:48 p.m.
On 02/08/2012 09:02 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.
>
> [ v2: rebased&  adapted to qom changes ]
>
> Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>

Applied.  Thanks.

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 080811e..c4b574d 100644
> --- a/hw/ne2000.c
> +++ b/hw/ne2000.c
> @@ -763,14 +763,6 @@ static int pci_ne2000_init(PCIDevice *pci_dev)
>                             object_get_typename(OBJECT(pci_dev)), 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;
> @@ -798,6 +790,7 @@ static void ne2000_class_init(ObjectClass *klass, void *data)
>
>       k->init = pci_ne2000_init;
>       k->exit = pci_ne2000_exit;
> +    k->romfile = "pxe-ne2k_pci.rom",
>       k->vendor_id = PCI_VENDOR_ID_REALTEK;
>       k->device_id = PCI_DEVICE_ID_REALTEK_8029;
>       k->class_id = PCI_CLASS_NETWORK_ETHERNET;
> diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
> index 439f32c..6f4755d 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);
>   }
>
> @@ -360,6 +352,7 @@ static void pcnet_class_init(ObjectClass *klass, void *data)
>
>       k->init = pci_pcnet_init;
>       k->exit = pci_pcnet_uninit;
> +    k->romfile = "pxe-pcnet.rom",
>       k->vendor_id = PCI_VENDOR_ID_AMD;
>       k->device_id = PCI_DEVICE_ID_AMD_LANCE;
>       k->revision = 0x10;

Patch

diff --git a/hw/ne2000.c b/hw/ne2000.c
index 080811e..c4b574d 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -763,14 +763,6 @@  static int pci_ne2000_init(PCIDevice *pci_dev)
                           object_get_typename(OBJECT(pci_dev)), 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;
@@ -798,6 +790,7 @@  static void ne2000_class_init(ObjectClass *klass, void *data)
 
     k->init = pci_ne2000_init;
     k->exit = pci_ne2000_exit;
+    k->romfile = "pxe-ne2k_pci.rom",
     k->vendor_id = PCI_VENDOR_ID_REALTEK;
     k->device_id = PCI_DEVICE_ID_REALTEK_8029;
     k->class_id = PCI_CLASS_NETWORK_ETHERNET;
diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
index 439f32c..6f4755d 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);
 }
 
@@ -360,6 +352,7 @@  static void pcnet_class_init(ObjectClass *klass, void *data)
 
     k->init = pci_pcnet_init;
     k->exit = pci_pcnet_uninit;
+    k->romfile = "pxe-pcnet.rom",
     k->vendor_id = PCI_VENDOR_ID_AMD;
     k->device_id = PCI_DEVICE_ID_AMD_LANCE;
     k->revision = 0x10;