diff options
author | Frank Ch. Eigler <fche@redhat.com> | 1998-06-10 17:07:10 +0000 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 1998-06-10 17:07:10 +0000 |
commit | b8790963359795b90a2ba6262d6df8496070f151 (patch) | |
tree | f574c1550f6c46d86439f28b70ce1bf64fc399f9 /sim/mips | |
parent | a4377bf7bd7523e35ac0b6a425a7c98f37d27eac (diff) | |
download | gdb-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/ChangeLog | 20 | ||||
-rw-r--r-- | sim/mips/interp.c | 8 | ||||
-rw-r--r-- | sim/mips/sky-pke.c | 3 |
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(); } |