Make an NMI activate the debugger. This only works on a TT and needs a small
hardware patch. This makes it easier to debug drivers that hang on an ipl > splsoft.
This commit is contained in:
parent
89ed0166fe
commit
987f8774c3
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: atari_init.c,v 1.8 1995/08/17 20:31:31 leo Exp $ */
|
||||
/* $NetBSD: atari_init.c,v 1.9 1995/12/16 21:40:28 leo Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Leo Weppelman
|
||||
@ -481,6 +481,13 @@ char *esym_addr; /* Address of kernel '_esym' symbol */
|
||||
* MFP (ipl6) and softints (ipl1).
|
||||
*/
|
||||
SCU->sys_mask = SCU_MFP | SCU_SCC | SCU_SYS_SOFT;
|
||||
#ifdef DDB
|
||||
/*
|
||||
* This allows people with the correct hardware modification
|
||||
* to drop into the debugger from an NMI.
|
||||
*/
|
||||
SCU->sys_mask |= SCU_IRQ7;
|
||||
#endif
|
||||
}
|
||||
else machineid |= ATARI_FALCON;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: genassym.c,v 1.5 1995/05/28 19:14:30 leo Exp $ */
|
||||
/* $NetBSD: genassym.c,v 1.6 1995/12/16 21:40:29 leo Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1982, 1990 The Regents of the University of California.
|
||||
@ -166,6 +166,7 @@ main()
|
||||
printf("#define\tMMU_68040 %d\n", MMU_68040);
|
||||
|
||||
printf("#define\tSOFTINT_ADDR %d\n", &SCU->sys_int);
|
||||
printf("#define\tSYSMASK_ADDR %d\n", &SCU->sys_mask);
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: locore.s,v 1.12 1995/12/11 02:38:01 thorpej Exp $ */
|
||||
/* $NetBSD: locore.s,v 1.13 1995/12/16 21:40:31 leo Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
@ -598,7 +598,22 @@ _lev1intr:
|
||||
addql #1,_cnt+V_INTR | chalk up another interrupt
|
||||
jra rei
|
||||
|
||||
_lev7intr: /* Should never occur */
|
||||
/*
|
||||
* Should never occur, except when special hardware modification
|
||||
* is installed. In this case, one expects to be dropped into
|
||||
* the debugger.
|
||||
*/
|
||||
_lev7intr:
|
||||
#ifdef DDB
|
||||
/*
|
||||
* Note that the nmi has to be turned off while handling it because
|
||||
* the hardware modification has no de-bouncing logic....
|
||||
*/
|
||||
movb SYSMASK_ADDR, sp@- | save current sysmask
|
||||
movb #0, 0xff8e01 | disable all interrupts
|
||||
trap #15 | drop into the debugger
|
||||
movb sp@+, SYSMASK_ADDR | restore sysmask
|
||||
#endif
|
||||
addql #1,_intrcnt+28 | add another nmi interrupt
|
||||
rte | all done
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user