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

📄 ivt.s

📁 xen 3.2.2 源码
💻 S
📖 第 1 页 / 共 3 页
字号:
	tnat.nz p8,p0=in7	nop.i 0	mov r13=r2				// establish `current'	movl r1=__gp				// establish kernel global pointer	;;	st8 [r16]=r8		// ensure pt_regs.r8 != 0 (see handle_syscall_error)(p13)	mov in6=-1(p8)	mov in7=-1	cmp.eq pSys,pNonSys=r0,r0		// set pSys=1, pNonSys=0	movl r17=FPSR_DEFAULT	;;	mov.m ar.fpsr=r17			// set ar.fpsr to kernel default value(p10)	mov r8=-EINVAL	br.ret.sptk.many b7END(ia64_syscall_setup)		.org ia64_ivt+0x3c00//////////////////////////////////////////////////////////////////////////// 0x3c00 Entry 15 (size 64 bundles) Reserved	DBG_FAULT(15)	FAULT(15)	.org ia64_ivt+0x4000//////////////////////////////////////////////////////////////////////////// 0x4000 Entry 16 (size 64 bundles) Reserved	DBG_FAULT(16)	FAULT(16)	// There is no particular reason for this code to be here, other	// than that there happens to be space here that would go unused 	// otherwise.  If this fault ever gets "unreserved", simply move	// the following code to a more suitable spot...ENTRY(dispatch_privop_fault)	SAVE_MIN_WITH_COVER	;;	alloc r14=ar.pfs,0,0,4,0	// now it's safe (must be first in					//   insn group!)	mov out0=cr.ifa	adds out1=16,sp	mov out2=cr.isr		// FIXME: pity to make this slow access twice	mov out3=cr.itir	ssm psr.ic | PSR_DEFAULT_BITS	;;	srlz.i				// guarantee that interruption 					//   collection is on	;;(p15)	ssm psr.i			// restore psr.i	adds r3=8,r2			// set up second base pointer	;;	SAVE_REST	movl r14=ia64_leave_kernel	;;	mov rp=r14     	br.call.sptk.many b6=ia64_handle_privopEND(dispatch_privop_fault)	.org ia64_ivt+0x4400//////////////////////////////////////////////////////////////////////////// 0x4400 Entry 17 (size 64 bundles) Reserved	DBG_FAULT(17)	FAULT(17)	.org ia64_ivt+0x4800//////////////////////////////////////////////////////////////////////////// 0x4800 Entry 18 (size 64 bundles) Reserved	DBG_FAULT(18)	FAULT(18)	.org ia64_ivt+0x4c00//////////////////////////////////////////////////////////////////////////// 0x4c00 Entry 19 (size 64 bundles) Reserved	DBG_FAULT(19)	FAULT(19)	/*	 * There is no particular reason for this code to be here, other 	 * than that there happens to be space here that would go unused 	 * otherwise.  If this fault ever gets "unreserved", simply move	 * the following code to a more suitable spot...	 */GLOBAL_ENTRY(dispatch_to_fault_handler)	/*	 * Input:	 *	psr.ic:	off	 *	r19:	fault vector number (e.g., 24 for General Exception)	 *	r31:	contains saved predicates (pr)	 */	SAVE_MIN_WITH_COVER_R19	alloc r14=ar.pfs,0,0,5,0	mov out0=r15	mov out1=cr.isr	mov out2=cr.ifa	mov out3=cr.iim	mov out4=cr.itir	;;	ssm psr.ic | PSR_DEFAULT_BITS	;;	srlz.i				// guarantee that interruption 					//   collection is on	;;(p15)	ssm psr.i			// restore psr.i	adds r3=8,r2			// set up second base pointer for					//   SAVE_REST	;;	SAVE_REST	movl r14=ia64_leave_kernel	;;	mov rp=r14	br.call.sptk.many b6=ia64_faultEND(dispatch_to_fault_handler)//// --- End of long entries, Beginning of short entries//	.org ia64_ivt+0x5000//////////////////////////////////////////////////////////////////////////// 0x5000 Entry 20 (size 16 bundles) Page Not Present (10,22,49)ENTRY(page_not_present)	DBG_FAULT(20)	FAULT_OR_REFLECT(20)END(page_not_present)	.org ia64_ivt+0x5100//////////////////////////////////////////////////////////////////////////// 0x5100 Entry 21 (size 16 bundles) Key Permission (13,25,52)ENTRY(key_permission)	DBG_FAULT(21)	FAULT_OR_REFLECT(21)END(key_permission)	.org ia64_ivt+0x5200//////////////////////////////////////////////////////////////////////////// 0x5200 Entry 22 (size 16 bundles) Instruction Access Rights (26)ENTRY(iaccess_rights)	DBG_FAULT(22)	FAULT_OR_REFLECT(22)END(iaccess_rights)	.org ia64_ivt+0x5300//////////////////////////////////////////////////////////////////////////// 0x5300 Entry 23 (size 16 bundles) Data Access Rights (14,53)ENTRY(daccess_rights)	DBG_FAULT(23)	mov r31=pr	mov r16=cr.isr	mov r17=cr.ifa	mov r19=23	mov r20=0x5300	br.sptk.many fast_access_reflect	;;END(daccess_rights)	.org ia64_ivt+0x5400//////////////////////////////////////////////////////////////////////////// 0x5400 Entry 24 (size 16 bundles) General Exception (5,32,34,36,38,39)ENTRY(general_exception)	DBG_FAULT(24)	mov r16=cr.isr	mov r31=pr	;;	cmp4.ge p6,p0=0x20,r16(p6)	br.sptk.many dispatch_privop_fault	;;	FAULT_OR_REFLECT(24)END(general_exception)	.org ia64_ivt+0x5500//////////////////////////////////////////////////////////////////////////// 0x5500 Entry 25 (size 16 bundles) Disabled FP-Register (35)ENTRY(disabled_fp_reg)	DBG_FAULT(25)	FAULT_OR_REFLECT(25)END(disabled_fp_reg)	.org ia64_ivt+0x5600//////////////////////////////////////////////////////////////////////////// 0x5600 Entry 26 (size 16 bundles) Nat Consumption (11,23,37,50)ENTRY(nat_consumption)	DBG_FAULT(26)	FAULT_OR_REFLECT(26)END(nat_consumption)	.org ia64_ivt+0x5700//////////////////////////////////////////////////////////////////////////// 0x5700 Entry 27 (size 16 bundles) Speculation (40)ENTRY(speculation_vector)	DBG_FAULT(27)	// this probably need not reflect...	FAULT_OR_REFLECT(27)END(speculation_vector)	.org ia64_ivt+0x5800//////////////////////////////////////////////////////////////////////////// 0x5800 Entry 28 (size 16 bundles) Reserved	DBG_FAULT(28)	FAULT(28)	.org ia64_ivt+0x5900//////////////////////////////////////////////////////////////////////////// 0x5900 Entry 29 (size 16 bundles) Debug (16,28,56)ENTRY(debug_vector)	DBG_FAULT(29)	FAULT_OR_REFLECT(29)END(debug_vector)	.org ia64_ivt+0x5a00//////////////////////////////////////////////////////////////////////////// 0x5a00 Entry 30 (size 16 bundles) Unaligned Reference (57)ENTRY(unaligned_access)	DBG_FAULT(30)	FAULT_OR_REFLECT(30)END(unaligned_access)	.org ia64_ivt+0x5b00//////////////////////////////////////////////////////////////////////////// 0x5b00 Entry 31 (size 16 bundles) Unsupported Data Reference (57)ENTRY(unsupported_data_reference)	DBG_FAULT(31)	FAULT_OR_REFLECT(31)END(unsupported_data_reference)	.org ia64_ivt+0x5c00//////////////////////////////////////////////////////////////////////////// 0x5c00 Entry 32 (size 16 bundles) Floating-Point Fault (64)ENTRY(floating_point_fault)	DBG_FAULT(32)	FAULT_OR_REFLECT(32)END(floating_point_fault)	.org ia64_ivt+0x5d00//////////////////////////////////////////////////////////////////////////// 0x5d00 Entry 33 (size 16 bundles) Floating Point Trap (66)ENTRY(floating_point_trap)	DBG_FAULT(33)	FAULT_OR_REFLECT(33)END(floating_point_trap)	.org ia64_ivt+0x5e00//////////////////////////////////////////////////////////////////////////// 0x5e00 Entry 34 (size 16 bundles) Lower Privilege Transfer Trap (66)ENTRY(lower_privilege_trap)	DBG_FAULT(34)	FAULT_OR_REFLECT(34)END(lower_privilege_trap)	.org ia64_ivt+0x5f00//////////////////////////////////////////////////////////////////////////// 0x5f00 Entry 35 (size 16 bundles) Taken Branch Trap (68)ENTRY(taken_branch_trap)	DBG_FAULT(35)	FAULT_OR_REFLECT(35)END(taken_branch_trap)	.org ia64_ivt+0x6000//////////////////////////////////////////////////////////////////////////// 0x6000 Entry 36 (size 16 bundles) Single Step Trap (69)ENTRY(single_step_trap)	DBG_FAULT(36)	FAULT_OR_REFLECT(36)END(single_step_trap)	.org ia64_ivt+0x6100//////////////////////////////////////////////////////////////////////////// 0x6100 Entry 37 (size 16 bundles) Reserved	DBG_FAULT(37)	FAULT(37)	.org ia64_ivt+0x6200//////////////////////////////////////////////////////////////////////////// 0x6200 Entry 38 (size 16 bundles) Reserved	DBG_FAULT(38)	FAULT(38)	.org ia64_ivt+0x6300//////////////////////////////////////////////////////////////////////////// 0x6300 Entry 39 (size 16 bundles) Reserved	DBG_FAULT(39)	FAULT(39)	.org ia64_ivt+0x6400//////////////////////////////////////////////////////////////////////////// 0x6400 Entry 40 (size 16 bundles) Reserved	DBG_FAULT(40)	FAULT(40)	.org ia64_ivt+0x6500//////////////////////////////////////////////////////////////////////////// 0x6500 Entry 41 (size 16 bundles) Reserved	DBG_FAULT(41)	FAULT(41)	.org ia64_ivt+0x6600//////////////////////////////////////////////////////////////////////////// 0x6600 Entry 42 (size 16 bundles) Reserved	DBG_FAULT(42)	FAULT(42)	.org ia64_ivt+0x6700//////////////////////////////////////////////////////////////////////////// 0x6700 Entry 43 (size 16 bundles) Reserved	DBG_FAULT(43)	FAULT(43)	.org ia64_ivt+0x6800//////////////////////////////////////////////////////////////////////////// 0x6800 Entry 44 (size 16 bundles) Reserved	DBG_FAULT(44)	FAULT(44)	.org ia64_ivt+0x6900//////////////////////////////////////////////////////////////////////////// 0x6900 Entry 45 (size 16 bundles) IA-32 Exeception (17,18,29,41,42,43,//						       44,58,60,61,62,72,//						       73,75,76,77)ENTRY(ia32_exception)	DBG_FAULT(45)	FAULT_OR_REFLECT(45)END(ia32_exception)	.org ia64_ivt+0x6a00//////////////////////////////////////////////////////////////////////////// 0x6a00 Entry 46 (size 16 bundles) IA-32 Intercept  (30,31,59,70,71)ENTRY(ia32_intercept)	DBG_FAULT(46)	FAULT_OR_REFLECT(46)END(ia32_intercept)	.org ia64_ivt+0x6b00//////////////////////////////////////////////////////////////////////////// 0x6b00 Entry 47 (size 16 bundles) IA-32 Interrupt  (74)ENTRY(ia32_interrupt)	DBG_FAULT(47)	FAULT_OR_REFLECT(47)END(ia32_interrupt)	.org ia64_ivt+0x6c00//////////////////////////////////////////////////////////////////////////// 0x6c00 Entry 48 (size 16 bundles) Reserved	DBG_FAULT(48)	FAULT(48)	.org ia64_ivt+0x6d00//////////////////////////////////////////////////////////////////////////// 0x6d00 Entry 49 (size 16 bundles) Reserved	DBG_FAULT(49)	FAULT(49)	.org ia64_ivt+0x6e00//////////////////////////////////////////////////////////////////////////// 0x6e00 Entry 50 (size 16 bundles) Reserved	DBG_FAULT(50)	FAULT(50)	.org ia64_ivt+0x6f00//////////////////////////////////////////////////////////////////////////// 0x6f00 Entry 51 (size 16 bundles) Reserved	DBG_FAULT(51)	FAULT(51)	.org ia64_ivt+0x7000//////////////////////////////////////////////////////////////////////////// 0x7000 Entry 52 (size 16 bundles) Reserved	DBG_FAULT(52)	FAULT(52)	.org ia64_ivt+0x7100//////////////////////////////////////////////////////////////////////////// 0x7100 Entry 53 (size 16 bundles) Reserved	DBG_FAULT(53)	FAULT(53)	.org ia64_ivt+0x7200//////////////////////////////////////////////////////////////////////////// 0x7200 Entry 54 (size 16 bundles) Reserved	DBG_FAULT(54)	FAULT(54)	.org ia64_ivt+0x7300//////////////////////////////////////////////////////////////////////////// 0x7300 Entry 55 (size 16 bundles) Reserved	DBG_FAULT(55)	FAULT(55)	.org ia64_ivt+0x7400//////////////////////////////////////////////////////////////////////////// 0x7400 Entry 56 (size 16 bundles) Reserved	DBG_FAULT(56)	FAULT(56)	.org ia64_ivt+0x7500//////////////////////////////////////////////////////////////////////////// 0x7500 Entry 57 (size 16 bundles) Reserved	DBG_FAULT(57)	FAULT(57)	.org ia64_ivt+0x7600//////////////////////////////////////////////////////////////////////////// 0x7600 Entry 58 (size 16 bundles) Reserved	DBG_FAULT(58)	FAULT(58)	.org ia64_ivt+0x7700//////////////////////////////////////////////////////////////////////////// 0x7700 Entry 59 (size 16 bundles) Reserved	DBG_FAULT(59)	FAULT(59)	.org ia64_ivt+0x7800//////////////////////////////////////////////////////////////////////////// 0x7800 Entry 60 (size 16 bundles) Reserved	DBG_FAULT(60)	FAULT(60)	.org ia64_ivt+0x7900//////////////////////////////////////////////////////////////////////////// 0x7900 Entry 61 (size 16 bundles) Reserved	DBG_FAULT(61)	FAULT(61)	.org ia64_ivt+0x7a00//////////////////////////////////////////////////////////////////////////// 0x7a00 Entry 62 (size 16 bundles) Reserved	DBG_FAULT(62)	FAULT(62)	.org ia64_ivt+0x7b00//////////////////////////////////////////////////////////////////////////// 0x7b00 Entry 63 (size 16 bundles) Reserved	DBG_FAULT(63)	FAULT(63)	.org ia64_ivt+0x7c00//////////////////////////////////////////////////////////////////////////// 0x7c00 Entry 64 (size 16 bundles) Reserved	DBG_FAULT(64)	FAULT(64)	.org ia64_ivt+0x7d00//////////////////////////////////////////////////////////////////////////// 0x7d00 Entry 65 (size 16 bundles) Reserved	DBG_FAULT(65)	FAULT(65)	.org ia64_ivt+0x7e00//////////////////////////////////////////////////////////////////////////// 0x7e00 Entry 66 (size 16 bundles) Reserved	DBG_FAULT(66)	FAULT(66)	.org ia64_ivt+0x7f00//////////////////////////////////////////////////////////////////////////// 0x7f00 Entry 67 (size 16 bundles) Reserved	DBG_FAULT(67)	FAULT(67)	.org ia64_ivt+0x8000

⌨️ 快捷键说明

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