diff options
Diffstat (limited to 'hw/pl080.c')
-rw-r--r-- | hw/pl080.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/hw/pl080.c b/hw/pl080.c index 549b3bfd10..aab1cacb9a 100644 --- a/hw/pl080.c +++ b/hw/pl080.c @@ -49,8 +49,7 @@ typedef struct { int nchannels; /* Flag to avoid recursive DMA invocations. */ int running; - void *pic; - int irq; + qemu_irq irq; } pl080_state; static const unsigned char pl080_id[] = @@ -63,9 +62,9 @@ static void pl080_update(pl080_state *s) { if ((s->tc_int & s->tc_mask) || (s->err_int & s->err_mask)) - pic_set_irq_new(s->pic, s->irq, 1); + qemu_irq_raise(s->irq); else - pic_set_irq_new(s->pic, s->irq, 1); + qemu_irq_lower(s->irq); } static void pl080_run(pl080_state *s) @@ -325,7 +324,7 @@ static CPUWriteMemoryFunc *pl080_writefn[] = { /* The PL080 and PL081 are the same except for the number of channels they implement (8 and 2 respectively). */ -void *pl080_init(uint32_t base, void *pic, int irq, int nchannels) +void *pl080_init(uint32_t base, qemu_irq irq, int nchannels) { int iomemtype; pl080_state *s; @@ -335,7 +334,6 @@ void *pl080_init(uint32_t base, void *pic, int irq, int nchannels) pl080_writefn, s); cpu_register_physical_memory(base, 0x00000fff, iomemtype); s->base = base; - s->pic = pic; s->irq = irq; s->nchannels = nchannels; /* ??? Save/restore. */ |