* 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
This commit is contained in:
Frank Ch. Eigler 1998-06-10 17:07:10 +00:00
parent a4377bf7bd
commit b879096335
3 changed files with 28 additions and 3 deletions

View File

@ -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

View File

@ -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)

View File

@ -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();
}