aboutsummaryrefslogtreecommitdiff
path: root/sim/mips
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>1998-06-10 17:07:10 +0000
committerFrank Ch. Eigler <fche@redhat.com>1998-06-10 17:07:10 +0000
commitb8790963359795b90a2ba6262d6df8496070f151 (patch)
treef574c1550f6c46d86439f28b70ce1bf64fc399f9 /sim/mips
parenta4377bf7bd7523e35ac0b6a425a7c98f37d27eac (diff)
downloadgdb-b8790963359795b90a2ba6262d6df8496070f151.zip
gdb-b8790963359795b90a2ba6262d6df8496070f151.tar.gz
gdb-b8790963359795b90a2ba6262d6df8496070f151.tar.bz2
* Support for sky hardware interrupts. The sky-dma cannot trigger
interrupts properly yet (jlemke TODO). Wed Jun 10 13:22:32 1998 Frank Ch. Eigler <fche@cygnus.com> * interp.c (decode_coproc): For TX39, add stub COP0 register #7, to allay warnings. (interrupt_event): Made non-static. start-sanitize-tx3904 * dv-tx3904tmr.c (deliver_tx3904tmr_tick): Correct accidental interchange of configuration values for external vs. internal clock dividers. end-sanitize-tx3904 start-sanitize-sky * sky-device.c (sky_signal_interrupt): New function to generate interrupt event. * sky-device.h: Declare it. * sky-dma.c (check_int1): Call it. * sky-pke.c (pke_begin_interrupt_stall): Call it. end-sanitize-sky
Diffstat (limited to 'sim/mips')
-rw-r--r--sim/mips/ChangeLog20
-rw-r--r--sim/mips/interp.c8
-rw-r--r--sim/mips/sky-pke.c3
3 files changed, 28 insertions, 3 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 1be0821..9115a91 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,23 @@
+Wed Jun 10 13:22:32 1998 Frank Ch. Eigler <fche@cygnus.com>
+
+ * interp.c (decode_coproc): For TX39, add stub COP0 register #7,
+ to allay warnings.
+ (interrupt_event): Made non-static.
+start-sanitize-tx3904
+
+ * dv-tx3904tmr.c (deliver_tx3904tmr_tick): Correct accidental
+ interchange of configuration values for external vs. internal
+ clock dividers.
+end-sanitize-tx3904
+start-sanitize-sky
+
+ * sky-device.c (sky_signal_interrupt): New function to generate
+ interrupt event.
+ * sky-device.h: Declare it.
+ * sky-dma.c (check_int1): Call it.
+ * sky-pke.c (pke_begin_interrupt_stall): Call it.
+end-sanitize-sky
+
Tue Jun 9 12:46:24 1998 Ian Carmichael <iancarm@cygnus.com>
* mips.igen (BREAK): Moved code to here for
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 25a2ee2..bbaeedb 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -289,7 +289,7 @@ static const OPTION mips_options[] =
int interrupt_pending;
-static void
+void
interrupt_event (SIM_DESC sd, void *data)
{
sim_cpu *cpu = STATE_CPU (sd, 0); /* FIXME */
@@ -3233,6 +3233,12 @@ decode_coproc (SIM_DESC sd,
/* ignore */
break;
/* 3 = Config R3900 */
+
+ case 7:
+ /* ignore */
+ break;
+ /* 3 = Cache R3900 */
+
#endif /* SUBTARGET_R3900 */
case 12:
if (code == 0x00)
diff --git a/sim/mips/sky-pke.c b/sim/mips/sky-pke.c
index 3e1815c..fc5beae 100644
--- a/sim/mips/sky-pke.c
+++ b/sim/mips/sky-pke.c
@@ -1157,8 +1157,7 @@ pke_begin_interrupt_stall(struct pke_device* me)
{
/* set PIS */
PKE_REG_MASK_SET(me, STAT, PIS, 1);
-
- /* XXX: send interrupt to 5900? */
+ sky_signal_interrupt();
}