⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kdb_trap.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/* * @(#)kdb_trap.h	4.1	ULTRIX	7/2/90 */#define include_kdb() 						 \ 								 \	case T_KDB_ENTRY:	/* enter kdb */			 	 \	{							 \		extern enter_kdb_now;				 \		if (enter_kdb_now != 1) 			 \			goto kdb_goto_label;/* arith fault in kernel */  \		else enter_kdb_now = 0; 			 \		/* fall through */ 				 \	}							 \	case T_BPTFLT:		/* bpt instruction fault */ 	 \	case T_TRCTRAP:		/* trace trap */ 		 \	{							 \		extern int kdb_saved_ipl;			 \		extern int in_kdb;				 \		extern char *kdb_stack_ptr;			 \		extern int kdb_bkpt_type;			 \		extern char *saved_stack_ptr;			 \		extern int *kdb_pc_ptr, *kdb_psl_ptr;		 \		/* 						 \		 * This lets us into kdb three times, more than  \		 * that and we are probably in an infinite loop: \		 * This at least lets us get the dump. 		 \		 */ 						 \		locr0[PS] &= ~PSL_T; 				 \		i = SIGTRAP; 					 \		kdb_bkpt_type = type; 				 \		if (in_kdb++ > 2) 				 \			goto kdb_goto_label;			 \		kdb_pc_ptr = &pc;				 \		kdb_psl_ptr = &psl;				 \		if (in_kdb == 1)				\			kdb_saved_ipl = splhigh();		 \		/* 						 \		 * this is a hack.  We know that kdb_local_regptr is  \		 * r11, and that it is not being used at this point  \		 * Use movl instead of mfpr since sp is just r14  \		 */ 						 \ 								 \		asm("movl sp,r11"); 				 \		saved_stack_ptr = (char *)REG_11; 		 \		REG_11 = (int *)kdb_stack_ptr; 			 \		asm("movl r11,sp"); 				 \ 								 \		force_call(type); 				 \		kdb_local_regptr = (int *)saved_stack_ptr; 	 \		asm("movl r11,sp"); 				 \		in_kdb--; 					 \		if (in_kdb == 0)				\			splx(kdb_saved_ipl);			\		return; 					 \	}							 \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -