亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gdb-low.s

?? linux 內核源代碼
?? S
字號:
/* * gdb-low.S contains the low-level trap handler for the GDB stub. * * Copyright (C) 1995 Andreas Busse */#include <linux/sys.h>#include <asm/asm.h>#include <asm/errno.h>#include <asm/irqflags.h>#include <asm/mipsregs.h>#include <asm/regdef.h>#include <asm/stackframe.h>#include <asm/gdb-stub.h>#ifdef CONFIG_32BIT#define DMFC0	mfc0#define DMTC0	mtc0#define LDC1	lwc1#define SDC1	lwc1#endif#ifdef CONFIG_64BIT#define DMFC0	dmfc0#define DMTC0	dmtc0#define LDC1	ldc1#define SDC1	ldc1#endif/* * [jsun] We reserves about 2x GDB_FR_SIZE in stack.  The lower (addressed) * part is used to store registers and passed to exception handler. * The upper part is reserved for "call func" feature where gdb client * saves some of the regs, setups call frame and passes args. * * A trace shows about 200 bytes are used to store about half of all regs. * The rest should be big enough for frame setup and passing args. *//* * The low level trap handler */		.align 	5		NESTED(trap_low, GDB_FR_SIZE, sp)		.set	noat		.set 	noreorder		mfc0	k0, CP0_STATUS		sll	k0, 3     		/* extract cu0 bit */		bltz	k0, 1f		move	k1, sp		/*		 * Called from user mode, go somewhere else.		 */		mfc0	k0, CP0_CAUSE		andi	k0, k0, 0x7c#ifdef CONFIG_64BIT		dsll	k0, k0, 1#endif		PTR_L	k1, saved_vectors(k0)		jr	k1		nop1:		move	k0, sp		PTR_SUBU sp, k1, GDB_FR_SIZE*2	# see comment above		LONG_S	k0, GDB_FR_REG29(sp)		LONG_S	$2, GDB_FR_REG2(sp)/* * First save the CP0 and special registers */		mfc0	v0, CP0_STATUS		LONG_S	v0, GDB_FR_STATUS(sp)		mfc0	v0, CP0_CAUSE		LONG_S	v0, GDB_FR_CAUSE(sp)		DMFC0	v0, CP0_EPC		LONG_S	v0, GDB_FR_EPC(sp)		DMFC0	v0, CP0_BADVADDR		LONG_S	v0, GDB_FR_BADVADDR(sp)		mfhi	v0		LONG_S	v0, GDB_FR_HI(sp)		mflo	v0		LONG_S	v0, GDB_FR_LO(sp)/* * Now the integer registers */		LONG_S	zero, GDB_FR_REG0(sp)		/* I know... */		LONG_S	$1, GDB_FR_REG1(sp)		/* v0 already saved */		LONG_S	$3, GDB_FR_REG3(sp)		LONG_S	$4, GDB_FR_REG4(sp)		LONG_S	$5, GDB_FR_REG5(sp)		LONG_S	$6, GDB_FR_REG6(sp)		LONG_S	$7, GDB_FR_REG7(sp)		LONG_S	$8, GDB_FR_REG8(sp)		LONG_S	$9, GDB_FR_REG9(sp)		LONG_S	$10, GDB_FR_REG10(sp)		LONG_S	$11, GDB_FR_REG11(sp)		LONG_S	$12, GDB_FR_REG12(sp)		LONG_S	$13, GDB_FR_REG13(sp)		LONG_S	$14, GDB_FR_REG14(sp)		LONG_S	$15, GDB_FR_REG15(sp)		LONG_S	$16, GDB_FR_REG16(sp)		LONG_S	$17, GDB_FR_REG17(sp)		LONG_S	$18, GDB_FR_REG18(sp)		LONG_S	$19, GDB_FR_REG19(sp)		LONG_S	$20, GDB_FR_REG20(sp)		LONG_S	$21, GDB_FR_REG21(sp)		LONG_S	$22, GDB_FR_REG22(sp)		LONG_S	$23, GDB_FR_REG23(sp)		LONG_S	$24, GDB_FR_REG24(sp)		LONG_S	$25, GDB_FR_REG25(sp)		LONG_S	$26, GDB_FR_REG26(sp)		LONG_S	$27, GDB_FR_REG27(sp)		LONG_S	$28, GDB_FR_REG28(sp)		/* sp already saved */		LONG_S	$30, GDB_FR_REG30(sp)		LONG_S	$31, GDB_FR_REG31(sp)		CLI				/* disable interrupts */		TRACE_IRQS_OFF/* * Followed by the floating point registers */		mfc0	v0, CP0_STATUS		/* FPU enabled? */		srl	v0, v0, 16		andi	v0, v0, (ST0_CU1 >> 16)		beqz	v0,2f			/* disabled, skip */		 nop		SDC1	$0, GDB_FR_FPR0(sp)		SDC1	$1, GDB_FR_FPR1(sp)		SDC1	$2, GDB_FR_FPR2(sp)		SDC1	$3, GDB_FR_FPR3(sp)		SDC1	$4, GDB_FR_FPR4(sp)		SDC1	$5, GDB_FR_FPR5(sp)		SDC1	$6, GDB_FR_FPR6(sp)		SDC1	$7, GDB_FR_FPR7(sp)		SDC1	$8, GDB_FR_FPR8(sp)		SDC1	$9, GDB_FR_FPR9(sp)		SDC1	$10, GDB_FR_FPR10(sp)		SDC1	$11, GDB_FR_FPR11(sp)		SDC1	$12, GDB_FR_FPR12(sp)		SDC1	$13, GDB_FR_FPR13(sp)		SDC1	$14, GDB_FR_FPR14(sp)		SDC1	$15, GDB_FR_FPR15(sp)		SDC1	$16, GDB_FR_FPR16(sp)		SDC1	$17, GDB_FR_FPR17(sp)		SDC1	$18, GDB_FR_FPR18(sp)		SDC1	$19, GDB_FR_FPR19(sp)		SDC1	$20, GDB_FR_FPR20(sp)		SDC1	$21, GDB_FR_FPR21(sp)		SDC1	$22, GDB_FR_FPR22(sp)		SDC1	$23, GDB_FR_FPR23(sp)		SDC1	$24, GDB_FR_FPR24(sp)		SDC1	$25, GDB_FR_FPR25(sp)		SDC1	$26, GDB_FR_FPR26(sp)		SDC1	$27, GDB_FR_FPR27(sp)		SDC1	$28, GDB_FR_FPR28(sp)		SDC1	$29, GDB_FR_FPR29(sp)		SDC1	$30, GDB_FR_FPR30(sp)		SDC1	$31, GDB_FR_FPR31(sp)/* * FPU control registers */		cfc1	v0, CP1_STATUS		LONG_S	v0, GDB_FR_FSR(sp)		cfc1	v0, CP1_REVISION		LONG_S	v0, GDB_FR_FIR(sp)/* * Current stack frame ptr */2:		LONG_S	sp, GDB_FR_FRP(sp)/* * CP0 registers (R4000/R4400 unused registers skipped) */		mfc0	v0, CP0_INDEX		LONG_S	v0, GDB_FR_CP0_INDEX(sp)		mfc0	v0, CP0_RANDOM		LONG_S	v0, GDB_FR_CP0_RANDOM(sp)		DMFC0	v0, CP0_ENTRYLO0		LONG_S	v0, GDB_FR_CP0_ENTRYLO0(sp)		DMFC0	v0, CP0_ENTRYLO1		LONG_S	v0, GDB_FR_CP0_ENTRYLO1(sp)		DMFC0	v0, CP0_CONTEXT		LONG_S	v0, GDB_FR_CP0_CONTEXT(sp)		mfc0	v0, CP0_PAGEMASK		LONG_S	v0, GDB_FR_CP0_PAGEMASK(sp)		mfc0	v0, CP0_WIRED		LONG_S	v0, GDB_FR_CP0_WIRED(sp)		DMFC0	v0, CP0_ENTRYHI		LONG_S	v0, GDB_FR_CP0_ENTRYHI(sp)		mfc0	v0, CP0_PRID		LONG_S	v0, GDB_FR_CP0_PRID(sp)		.set	at/* * Continue with the higher level handler */		move	a0,sp		jal	handle_exception		 nop/* * Restore all writable registers, in reverse order */		.set	noat		LONG_L	v0, GDB_FR_CP0_ENTRYHI(sp)		LONG_L	v1, GDB_FR_CP0_WIRED(sp)		DMTC0	v0, CP0_ENTRYHI		mtc0	v1, CP0_WIRED		LONG_L	v0, GDB_FR_CP0_PAGEMASK(sp)		LONG_L	v1, GDB_FR_CP0_ENTRYLO1(sp)		mtc0	v0, CP0_PAGEMASK		DMTC0	v1, CP0_ENTRYLO1		LONG_L	v0, GDB_FR_CP0_ENTRYLO0(sp)		LONG_L	v1, GDB_FR_CP0_INDEX(sp)		DMTC0	v0, CP0_ENTRYLO0		LONG_L	v0, GDB_FR_CP0_CONTEXT(sp)		mtc0	v1, CP0_INDEX		DMTC0	v0, CP0_CONTEXT/* * Next, the floating point registers */		mfc0	v0, CP0_STATUS		/* check if the FPU is enabled */		srl	v0, v0, 16		andi	v0, v0, (ST0_CU1 >> 16)		beqz	v0, 3f			/* disabled, skip */		 nop		LDC1	$31, GDB_FR_FPR31(sp)		LDC1	$30, GDB_FR_FPR30(sp)		LDC1	$29, GDB_FR_FPR29(sp)		LDC1	$28, GDB_FR_FPR28(sp)		LDC1	$27, GDB_FR_FPR27(sp)		LDC1	$26, GDB_FR_FPR26(sp)		LDC1	$25, GDB_FR_FPR25(sp)		LDC1	$24, GDB_FR_FPR24(sp)		LDC1	$23, GDB_FR_FPR23(sp)		LDC1	$22, GDB_FR_FPR22(sp)		LDC1	$21, GDB_FR_FPR21(sp)		LDC1	$20, GDB_FR_FPR20(sp)		LDC1	$19, GDB_FR_FPR19(sp)		LDC1	$18, GDB_FR_FPR18(sp)		LDC1	$17, GDB_FR_FPR17(sp)		LDC1	$16, GDB_FR_FPR16(sp)		LDC1	$15, GDB_FR_FPR15(sp)		LDC1	$14, GDB_FR_FPR14(sp)		LDC1	$13, GDB_FR_FPR13(sp)		LDC1	$12, GDB_FR_FPR12(sp)		LDC1	$11, GDB_FR_FPR11(sp)		LDC1	$10, GDB_FR_FPR10(sp)		LDC1	$9, GDB_FR_FPR9(sp)		LDC1	$8, GDB_FR_FPR8(sp)		LDC1	$7, GDB_FR_FPR7(sp)		LDC1	$6, GDB_FR_FPR6(sp)		LDC1	$5, GDB_FR_FPR5(sp)		LDC1	$4, GDB_FR_FPR4(sp)		LDC1	$3, GDB_FR_FPR3(sp)		LDC1	$2, GDB_FR_FPR2(sp)		LDC1	$1, GDB_FR_FPR1(sp)		LDC1	$0, GDB_FR_FPR0(sp)/* * Now the CP0 and integer registers */3:#ifdef CONFIG_MIPS_MT_SMTC		/* Read-modify write of Status must be atomic */		mfc0	t2, CP0_TCSTATUS		ori	t1, t2, TCSTATUS_IXMT		mtc0	t1, CP0_TCSTATUS		andi	t2, t2, TCSTATUS_IXMT		_ehb		DMT	9				# dmt	t1		jal	mips_ihb		nop#endif /* CONFIG_MIPS_MT_SMTC */		mfc0	t0, CP0_STATUS		ori	t0, 0x1f		xori	t0, 0x1f		mtc0	t0, CP0_STATUS#ifdef CONFIG_MIPS_MT_SMTC        	andi    t1, t1, VPECONTROL_TE        	beqz    t1, 9f		nop        	EMT					# emt9:		mfc0	t1, CP0_TCSTATUS		xori	t1, t1, TCSTATUS_IXMT		or	t1, t1, t2		mtc0	t1, CP0_TCSTATUS		_ehb#endif /* CONFIG_MIPS_MT_SMTC */		LONG_L	v0, GDB_FR_STATUS(sp)		LONG_L	v1, GDB_FR_EPC(sp)		mtc0	v0, CP0_STATUS		DMTC0	v1, CP0_EPC		LONG_L	v0, GDB_FR_HI(sp)		LONG_L	v1, GDB_FR_LO(sp)		mthi	v0		mtlo	v1		LONG_L	$31, GDB_FR_REG31(sp)		LONG_L	$30, GDB_FR_REG30(sp)		LONG_L	$28, GDB_FR_REG28(sp)		LONG_L	$27, GDB_FR_REG27(sp)		LONG_L	$26, GDB_FR_REG26(sp)		LONG_L	$25, GDB_FR_REG25(sp)		LONG_L	$24, GDB_FR_REG24(sp)		LONG_L	$23, GDB_FR_REG23(sp)		LONG_L	$22, GDB_FR_REG22(sp)		LONG_L	$21, GDB_FR_REG21(sp)		LONG_L	$20, GDB_FR_REG20(sp)		LONG_L	$19, GDB_FR_REG19(sp)		LONG_L	$18, GDB_FR_REG18(sp)		LONG_L	$17, GDB_FR_REG17(sp)		LONG_L	$16, GDB_FR_REG16(sp)		LONG_L	$15, GDB_FR_REG15(sp)		LONG_L	$14, GDB_FR_REG14(sp)		LONG_L	$13, GDB_FR_REG13(sp)		LONG_L	$12, GDB_FR_REG12(sp)		LONG_L	$11, GDB_FR_REG11(sp)		LONG_L	$10, GDB_FR_REG10(sp)		LONG_L	$9, GDB_FR_REG9(sp)		LONG_L	$8, GDB_FR_REG8(sp)		LONG_L	$7, GDB_FR_REG7(sp)		LONG_L	$6, GDB_FR_REG6(sp)		LONG_L	$5, GDB_FR_REG5(sp)		LONG_L	$4, GDB_FR_REG4(sp)		LONG_L	$3, GDB_FR_REG3(sp)		LONG_L	$2, GDB_FR_REG2(sp)		LONG_L	$1, GDB_FR_REG1(sp)#if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX)		LONG_L	k0, GDB_FR_EPC(sp)		LONG_L	$29, GDB_FR_REG29(sp)		/* Deallocate stack */		jr	k0		rfe#else		LONG_L	sp, GDB_FR_REG29(sp)		/* Deallocate stack */		.set	mips3		eret		.set	mips0#endif		.set	at		.set	reorder		END(trap_low)LEAF(kgdb_read_byte)4:		lb	t0, (a0)		sb	t0, (a1)		li	v0, 0		jr	ra		.section __ex_table,"a"		PTR	4b, kgdbfault		.previous		END(kgdb_read_byte)LEAF(kgdb_write_byte)5:		sb	a0, (a1)		li	v0, 0		jr	ra		.section __ex_table,"a"		PTR	5b, kgdbfault		.previous		END(kgdb_write_byte)		.type	kgdbfault@function		.ent	kgdbfaultkgdbfault:	li	v0, -EFAULT		jr	ra		.end	kgdbfault

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美综合网| 91九色02白丝porn| 久久精品欧美日韩| 国产成人丝袜美腿| 亚洲丝袜另类动漫二区| 99re成人精品视频| 婷婷开心激情综合| 久久综合久久综合久久| 国产精品一区二区黑丝| 中文字幕制服丝袜一区二区三区| 99视频超级精品| 亚洲一二三区视频在线观看| 欧美一区二区视频在线观看| 国产精品一区久久久久| 亚洲特级片在线| 欧美精品日日鲁夜夜添| 狠狠色丁香婷婷综合久久片| 国产精品免费免费| 欧美三级乱人伦电影| 久久精品国产999大香线蕉| 国产日韩亚洲欧美综合| 在线欧美日韩国产| 极品少妇xxxx偷拍精品少妇| 1024国产精品| 日韩你懂的在线播放| 91偷拍与自偷拍精品| 视频一区中文字幕| 中文字幕在线不卡国产视频| 91.成人天堂一区| 不卡的av在线播放| 青青草一区二区三区| 中文字幕中文字幕一区二区| 91精品一区二区三区久久久久久 | 在线观看www91| 免费成人美女在线观看.| 国产精品美女久久福利网站| 欧美一区二区三区在线观看视频| 成人综合在线视频| 蜜臀久久久久久久| 亚洲人午夜精品天堂一二香蕉| 日韩一区二区在线看片| 91色婷婷久久久久合中文| 另类小说视频一区二区| 亚洲精品久久久蜜桃| 久久久精品黄色| 91国偷自产一区二区开放时间 | 欧美做爰猛烈大尺度电影无法无天| 秋霞午夜av一区二区三区| 亚洲三级在线看| 久久精品在线免费观看| 91麻豆精品91久久久久久清纯| 91一区二区三区在线观看| 国产一区在线观看视频| 免费观看日韩av| 亚洲一区二区三区不卡国产欧美| 国产精品久久久久久久久快鸭| 欧美videossexotv100| 这里只有精品视频在线观看| 在线观看一区日韩| 91日韩精品一区| 懂色av一区二区三区免费观看| 精品一区二区日韩| 奇米一区二区三区av| 亚洲一级在线观看| 亚洲乱码国产乱码精品精可以看| 国产农村妇女精品| 久久久久久久久99精品| 日韩免费电影网站| 日韩一级二级三级| 日韩一二三区不卡| 日韩一区二区三区视频在线观看| 欧美日本在线一区| 欧美精品自拍偷拍| 日韩一区二区电影| 日韩欧美一区中文| 日韩免费看网站| 精品久久久久久久久久久久久久久久久| 欧美三级蜜桃2在线观看| 精品视频123区在线观看| 91国偷自产一区二区使用方法| 99国产精品久久久久久久久久久 | 日韩美女视频在线| 日韩免费电影一区| 日韩欧美黄色影院| 精品粉嫩超白一线天av| 亚洲精品一区二区在线观看| 精品国产污网站| 精品噜噜噜噜久久久久久久久试看 | 亚洲精品乱码久久久久久日本蜜臀| 国产精品福利一区| 一区二区三区在线播放| 亚洲妇女屁股眼交7| 日本免费在线视频不卡一不卡二| 免费成人你懂的| 国产伦精品一区二区三区在线观看| 国产精品白丝jk黑袜喷水| a在线播放不卡| 欧美怡红院视频| 日韩欧美在线一区二区三区| 精品欧美乱码久久久久久1区2区| 久久久国产精品午夜一区ai换脸| 国产精品嫩草影院com| 亚洲永久精品国产| 青青草97国产精品免费观看| 久久99久久精品| 成人高清免费观看| 在线观看亚洲精品| 日韩美女视频在线| 日韩理论片中文av| 日韩精品亚洲一区| 国产传媒久久文化传媒| 在线观看av一区二区| 日韩精品一区二区三区三区免费| 欧美极品美女视频| 亚洲超丰满肉感bbw| 国产毛片精品视频| 色久综合一二码| 欧美mv日韩mv国产| 中文字幕亚洲一区二区va在线| 婷婷国产在线综合| 99久久婷婷国产综合精品电影| 欧美日韩国产乱码电影| 国产视频一区在线播放| 亚洲风情在线资源站| 国产精品一区二区在线播放 | 欧美一级精品在线| 国产精品水嫩水嫩| 美日韩一区二区| 色综合欧美在线| 日韩女优电影在线观看| 亚洲男同性视频| 国模娜娜一区二区三区| 91电影在线观看| 国产精品网友自拍| 久久国产精品露脸对白| 日本电影欧美片| 久久精品欧美一区二区三区麻豆| 午夜精品久久久久久久久| av午夜一区麻豆| 久久久精品人体av艺术| 日本vs亚洲vs韩国一区三区二区| 在线欧美日韩精品| 亚洲国产精品激情在线观看| 免费在线观看精品| 在线观看国产一区二区| 国产精品久久久久久妇女6080| 免费观看30秒视频久久| 欧美日韩一级大片网址| 国产精品不卡一区二区三区| 国产精品99久久久久久久vr| 日韩欧美一级二级| 日韩国产精品91| 在线欧美一区二区| 樱花影视一区二区| 99久久婷婷国产综合精品| 国产偷国产偷精品高清尤物 | 国产成人av一区二区三区在线| 欧美福利视频导航| 亚洲一区在线视频| 91国偷自产一区二区三区成为亚洲经典 | 99久久精品一区| 欧美激情艳妇裸体舞| 国产成人精品三级麻豆| 日本一区二区视频在线| 国产综合色视频| ww亚洲ww在线观看国产| 激情小说亚洲一区| 久久亚洲捆绑美女| 国产一区二三区好的| 久久伊人中文字幕| 国产一区二区久久| 国产三级欧美三级| 菠萝蜜视频在线观看一区| 136国产福利精品导航| 91网站黄www| 亚洲第一二三四区| 7777精品伊人久久久大香线蕉超级流畅 | 色婷婷精品大视频在线蜜桃视频| 国产精品视频看| 99久久婷婷国产综合精品| 亚洲欧美日本在线| 欧美午夜不卡在线观看免费| 亚洲成av人影院在线观看网| 91精品啪在线观看国产60岁| 久久99精品视频| 国产精品久久久久久妇女6080| 成av人片一区二区| 亚洲综合一区二区三区| 欧美精品国产精品| 激情欧美一区二区| 欧美激情艳妇裸体舞| 在线免费精品视频| 日本欧美在线看| 亚洲视频在线观看一区| 欧美日韩视频第一区| 久久99久久精品| 亚洲同性同志一二三专区| 正在播放亚洲一区| 国产a精品视频| 亚洲国产精品久久艾草纯爱|