Home | History | Annotate | Line # | Download | only in powerpc
db_interface.c revision 1.4.12.1
      1  1.4.12.1  wrstuden /*	$NetBSD: db_interface.c,v 1.4.12.1 1999/12/27 18:33:40 wrstuden Exp $ */
      2       1.1  sakamoto /*	$OpenBSD: db_interface.c,v 1.2 1996/12/28 06:21:50 rahnds Exp $	*/
      3       1.3  jonathan 
      4       1.3  jonathan #include "opt_ddb.h"
      5       1.1  sakamoto 
      6       1.1  sakamoto #include <sys/param.h>
      7       1.1  sakamoto #include <sys/proc.h>
      8       1.4    tsubai #include <sys/systm.h>
      9       1.1  sakamoto 
     10       1.1  sakamoto #include <machine/frame.h>
     11       1.1  sakamoto #include <machine/db_machdep.h>
     12       1.1  sakamoto 
     13       1.1  sakamoto void
     14  1.4.12.1  wrstuden cpu_Debugger()
     15       1.1  sakamoto {
     16       1.1  sakamoto 	ddb_trap();
     17       1.1  sakamoto }
     18       1.1  sakamoto 
     19       1.1  sakamoto int
     20       1.1  sakamoto ddb_trap_glue(frame)
     21       1.1  sakamoto 	struct trapframe *frame;
     22       1.1  sakamoto {
     23       1.1  sakamoto 	int msr;
     24       1.1  sakamoto 
     25       1.1  sakamoto 	if (!(frame->srr1 & PSL_PR)
     26       1.1  sakamoto 	    && (frame->exc == EXC_TRC
     27       1.1  sakamoto 		|| (frame->exc == EXC_PGM
     28       1.1  sakamoto 		    && (frame->srr1 & 0x20000))
     29       1.1  sakamoto 		|| frame->exc == EXC_BPT)) {
     30       1.1  sakamoto 
     31       1.2   mycroft 		bcopy(frame->fixreg, DDB_REGS->r, 32 * sizeof(u_int32_t));
     32       1.2   mycroft 		DDB_REGS->iar = frame->srr0;
     33       1.2   mycroft 		DDB_REGS->msr = frame->srr1;
     34       1.1  sakamoto 
     35       1.1  sakamoto 		db_trap(T_BREAKPOINT, 0);
     36       1.2   mycroft 
     37       1.2   mycroft 		bcopy(DDB_REGS->r, frame->fixreg, 32 * sizeof(u_int32_t));
     38       1.1  sakamoto 
     39       1.1  sakamoto 		return 1;
     40       1.1  sakamoto 	}
     41       1.1  sakamoto 	return 0;
     42       1.1  sakamoto }
     43