Message ID | 1422536379-18116-1-git-send-email-sebastian.huber@embedded-brains.de |
---|---|
State | New |
Headers | show |
On 01/29/2015 08:59 PM, Sebastian Huber wrote: > Set initial MAC address to the one specified by the command line. > > Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> > --- > hw/net/cadence_gem.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > index de26609..a1aa91b 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; > } > @@ -1245,7 +1251,6 @@ static int gem_init(SysBusDevice *sbd) > sysbus_init_mmio(sbd, &s->iomem); > sysbus_init_irq(sbd, &s->irq); > qemu_macaddr_default_if_unset(&s->conf.macaddr); > - This seems unnecessary. > s->nic = qemu_new_nic(&net_gem_info, &s->conf, > object_get_typename(OBJECT(dev)), dev->id, s); > Reviewed-by: Jason Wang <jasowang@redhat.com>
diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index de26609..a1aa91b 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; } @@ -1245,7 +1251,6 @@ static int gem_init(SysBusDevice *sbd) sysbus_init_mmio(sbd, &s->iomem); sysbus_init_irq(sbd, &s->irq); qemu_macaddr_default_if_unset(&s->conf.macaddr); - s->nic = qemu_new_nic(&net_gem_info, &s->conf, object_get_typename(OBJECT(dev)), dev->id, s);
Set initial MAC address to the one specified by the command line. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> --- hw/net/cadence_gem.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)