qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH-for-7.0] tulip: Assign default MAC address if not specified


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH-for-7.0] tulip: Assign default MAC address if not specified
Date: Thu, 10 Mar 2022 18:32:18 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.6.1

On 10/3/22 17:55, Helge Deller wrote:
The MAC of the tulip card is stored in the EEPROM and at startup
tulip_fill_eeprom() is called to initialize the EEPROM with the MAC
address given on the command line, e.g.:
     -device tulip,mac=00:11:22:33:44:55

In case the mac address was not given on the command line,
tulip_fill_eeprom() initializes the MAC in EEPROM with 00:00:00:00:00:00
which breaks e.g. a HP-UX guest.

Fix this problem by moving qemu_macaddr_default_if_unset() a few lines
up, so that a default mac address is assigned before tulip_fill_eeprom()
initializes the EEPROM.

Signed-off-by: Helge Deller <deller@gmx.de>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

diff --git a/hw/net/tulip.c b/hw/net/tulip.c
index d5b6cc5ee6..097e905bec 100644
--- a/hw/net/tulip.c
+++ b/hw/net/tulip.c
@@ -967,6 +967,8 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error 
**errp)
      pci_conf = s->dev.config;
      pci_conf[PCI_INTERRUPT_PIN] = 1; /* interrupt pin A */

+    qemu_macaddr_default_if_unset(&s->c.macaddr);
+
      s->eeprom = eeprom93xx_new(&pci_dev->qdev, 64);
      tulip_fill_eeprom(s);

@@ -981,8 +983,6 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error 
**errp)

      s->irq = pci_allocate_irq(&s->dev);

-    qemu_macaddr_default_if_unset(&s->c.macaddr);
-
      s->nic = qemu_new_nic(&net_tulip_info, &s->c,
                            object_get_typename(OBJECT(pci_dev)),
                            pci_dev->qdev.id, s);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]