OSDN Git Service

* int.c (trigger_peripheral_interrupt): Clear interrupt pending
authordj <dj>
Wed, 1 Oct 2008 20:44:21 +0000 (20:44 +0000)
committerdj <dj>
Wed, 1 Oct 2008 20:44:21 +0000 (20:44 +0000)
bit when peripheral interrupts are serviced.

sim/m32c/ChangeLog
sim/m32c/int.c

index c77bf25..5512d69 100644 (file)
@@ -1,3 +1,8 @@
+2008-10-01  DJ Delorie  <dj@redhat.com>
+
+       * int.c (trigger_peripheral_interrupt): Clear interrupt pending
+       bit when peripheral interrupts are serviced.
+
 2008-07-11  Hans-Peter Nilsson  <hp@axis.com>
 
        * configure: Regenerate to track ../common/common.m4 changes.
index 5556a12..ac7ac97 100644 (file)
@@ -72,4 +72,5 @@ trigger_peripheral_interrupt (int vector, int icaddr)
   int addr = get_reg (intb) + vector * 4;
   trigger_interrupt (addr, 1);
   put_reg (flags, (get_reg (flags) & 0x8fff) | ((old_ic & 7) << 12));
+  mem_put_qi (icaddr, old_ic & ~ 0x08);
 }