Revision 8da3ff18 hw/smc91c111.c

b/hw/smc91c111.c
17 17
#define NUM_PACKETS 4
18 18

  
19 19
typedef struct {
20
    uint32_t base;
21 20
    VLANClientState *vc;
22 21
    uint16_t tcr;
23 22
    uint16_t rcr;
......
249 248
{
250 249
    smc91c111_state *s = (smc91c111_state *)opaque;
251 250

  
252
    offset -= s->base;
253 251
    if (offset == 14) {
254 252
        s->bank = value;
255 253
        return;
......
422 420
{
423 421
    smc91c111_state *s = (smc91c111_state *)opaque;
424 422

  
425
    offset -= s->base;
426 423
    if (offset == 14) {
427 424
        return s->bank;
428 425
    }
......
571 568
static void smc91c111_writel(void *opaque, target_phys_addr_t offset,
572 569
                             uint32_t value)
573 570
{
574
    smc91c111_state *s = (smc91c111_state *)opaque;
575 571
    /* 32-bit writes to offset 0xc only actually write to the bank select
576 572
       register (offset 0xe)  */
577
    if (offset != s->base + 0xc)
573
    if (offset != 0xc)
578 574
        smc91c111_writew(opaque, offset, value & 0xffff);
579 575
    smc91c111_writew(opaque, offset + 2, value >> 16);
580 576
}
......
703 699
    iomemtype = cpu_register_io_memory(0, smc91c111_readfn,
704 700
                                       smc91c111_writefn, s);
705 701
    cpu_register_physical_memory(base, 16, iomemtype);
706
    s->base = base;
707 702
    s->irq = irq;
708 703
    memcpy(s->macaddr, nd->macaddr, 6);
709 704

  

Also available in: Unified diff