Set initial MAC address to the one specified by the command line.

Signed-off-by: Sebastian Huber <sebastian.hu...@embedded-brains.de>
Reviewed-by: Jason Wang <jasow...@redhat.com>

v2: Remove superfluous whitespace change.
---
 hw/net/cadence_gem.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index de26609..f9a7af1 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -1005,6 +1005,7 @@ static void gem_reset(DeviceState *d)
 {
     int i;
     GemState *s = GEM(d);
+    const uint8_t *a;
 
     DB_PRINT("\n");
 
@@ -1023,6 +1024,11 @@ static void gem_reset(DeviceState *d)
     s->regs[GEM_DESCONF5] = 0x002f2145;
     s->regs[GEM_DESCONF6] = 0x00000200;
 
+    /* Set MAC address */
+    a = &s->conf.macaddr.a[0];
+    s->regs[GEM_SPADDR1LO] = a[0] | (a[1] << 8) | (a[2] << 16) | (a[3] << 24);
+    s->regs[GEM_SPADDR1HI] = a[4] | (a[5] << 8);
+
     for (i = 0; i < 4; i++) {
         s->sar_active[i] = false;
     }
-- 
1.8.4.5


Reply via email to