[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 12/17] net/dp8393x: add PROM to store MAC add
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH v2 12/17] net/dp8393x: add PROM to store MAC address |
Date: |
Tue, 2 Jun 2015 13:04:24 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On 2015-05-27 14:19, Hervé Poussineau wrote:
> Signed-off-by: Laurent Vivier <address@hidden>
> Signed-off-by: Hervé Poussineau <address@hidden>
> ---
> hw/mips/mips_jazz.c | 1 +
> hw/net/dp8393x.c | 18 ++++++++++++++++++
> 2 files changed, 19 insertions(+)
>
> diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c
> index 648654e..9d60633 100644
> --- a/hw/mips/mips_jazz.c
> +++ b/hw/mips/mips_jazz.c
> @@ -282,6 +282,7 @@ static void mips_jazz_init(MachineState *machine,
> qdev_init_nofail(dev);
> sysbus = SYS_BUS_DEVICE(dev);
> sysbus_mmio_map(sysbus, 0, 0x80001000);
> + sysbus_mmio_map(sysbus, 1, 0x8000b000);
> sysbus_connect_irq(sysbus, 0, qdev_get_gpio_in(rc4030, 4));
> break;
> } else if (is_help_option(nd->model)) {
> diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
> index 51e728b..ef1fb0e 100644
> --- a/hw/net/dp8393x.c
> +++ b/hw/net/dp8393x.c
> @@ -25,6 +25,7 @@
>
> //#define DEBUG_SONIC
>
> +#define SONIC_PROM_SIZE 0x1000
>
> #ifdef DEBUG_SONIC
> #define DPRINTF(fmt, ...) \
> @@ -156,6 +157,7 @@ typedef struct dp8393xState {
> NICConf conf;
> NICState *nic;
> MemoryRegion mmio;
> + MemoryRegion prom;
>
> /* Registers */
> uint8_t cam[16][6];
> @@ -816,12 +818,15 @@ static void dp8393x_instance_init(Object *obj)
> dp8393xState *s = DP8393X(obj);
>
> sysbus_init_mmio(sbd, &s->mmio);
> + sysbus_init_mmio(sbd, &s->prom);
> sysbus_init_irq(sbd, &s->irq);
> }
>
> static void dp8393x_realize(DeviceState *dev, Error **errp)
> {
> dp8393xState *s = DP8393X(dev);
> + int i, checksum;
> + uint8_t *prom;
>
> address_space_init(&s->as, s->dma_mr, "dp8393x");
> memory_region_init_io(&s->mmio, OBJECT(dev), &dp8393x_ops, s,
> @@ -833,6 +838,19 @@ static void dp8393x_realize(DeviceState *dev, Error
> **errp)
>
> s->watchdog = timer_new_ns(QEMU_CLOCK_VIRTUAL, dp8393x_watchdog, s);
> s->regs[SONIC_SR] = 0x0004; /* only revision recognized by Linux */
> +
> + memory_region_init_rom_device(&s->prom, OBJECT(dev), NULL, NULL,
> + "dp8393x-prom", SONIC_PROM_SIZE, NULL);
> + prom = memory_region_get_ram_ptr(&s->prom);
> + checksum = 0;
> + for (i = 0; i < 6; i++) {
> + prom[i] = s->conf.macaddr.a[i];
> + checksum += prom[i];
> + if (checksum > 0xff) {
> + checksum = (checksum + 1) & 0xff;
> + }
> + }
> + prom[7] = 0xff - checksum;
> }
>
> static Property dp8393x_properties[] = {
Reviewed-by: Aurelien Jarno <address@hidden>
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
address@hidden http://www.aurel32.net
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2 12/17] net/dp8393x: add PROM to store MAC address,
Aurelien Jarno <=