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
|
* Copyright (c) 1995 Leo Weppelman
|
||||||
@ -481,6 +481,13 @@ char *esym_addr; /* Address of kernel '_esym' symbol */
|
|||||||
* MFP (ipl6) and softints (ipl1).
|
* MFP (ipl6) and softints (ipl1).
|
||||||
*/
|
*/
|
||||||
SCU->sys_mask = SCU_MFP | SCU_SCC | SCU_SYS_SOFT;
|
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;
|
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.
|
* 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\tMMU_68040 %d\n", MMU_68040);
|
||||||
|
|
||||||
printf("#define\tSOFTINT_ADDR %d\n", &SCU->sys_int);
|
printf("#define\tSOFTINT_ADDR %d\n", &SCU->sys_int);
|
||||||
|
printf("#define\tSYSMASK_ADDR %d\n", &SCU->sys_mask);
|
||||||
|
|
||||||
exit(0);
|
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.
|
* Copyright (c) 1988 University of Utah.
|
||||||
@ -598,7 +598,22 @@ _lev1intr:
|
|||||||
addql #1,_cnt+V_INTR | chalk up another interrupt
|
addql #1,_cnt+V_INTR | chalk up another interrupt
|
||||||
jra rei
|
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
|
addql #1,_intrcnt+28 | add another nmi interrupt
|
||||||
rte | all done
|
rte | all done
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user