diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-04-07 18:14:41 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-04-07 18:14:41 +0000 |
commit | d537cf6c8624b27ce2b63431d2f8937f6356f652 (patch) | |
tree | d7173d79977b4426b2ff225b35c839c8a2e4a215 /hw/pl080.c | |
parent | b6e27ab8b12ef6075d85fc505f821643804a3a79 (diff) |
Unify IRQ handling.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2635 c046a42c-6fe2-441c-8c8c-71466251a162
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. */ |