Revision 8da3ff18 hw/pl181.c

b/hw/pl181.c
24 24

  
25 25
typedef struct {
26 26
    SDState *card;
27
    uint32_t base;
28 27
    uint32_t clock;
29 28
    uint32_t power;
30 29
    uint32_t cmdarg;
......
261 260
    pl181_state *s = (pl181_state *)opaque;
262 261
    uint32_t tmp;
263 262

  
264
    offset -= s->base;
265 263
    if (offset >= 0xfe0 && offset < 0x1000) {
266 264
        return pl181_id[(offset - 0xfe0) >> 2];
267 265
    }
......
344 342
{
345 343
    pl181_state *s = (pl181_state *)opaque;
346 344

  
347
    offset -= s->base;
348 345
    switch (offset) {
349 346
    case 0x00: /* Power */
350 347
        s->power = value & 0xff;
......
457 454
    iomemtype = cpu_register_io_memory(0, pl181_readfn,
458 455
                                       pl181_writefn, s);
459 456
    cpu_register_physical_memory(base, 0x00001000, iomemtype);
460
    s->base = base;
461 457
    s->card = sd_init(bd, 0);
462 458
    s->irq[0] = irq0;
463 459
    s->irq[1] = irq1;

Also available in: Unified diff