watch.s

来自「上传linux-jx2410的源代码」· S 代码 · 共 58 行

S
58
字号
/* * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Kernel debug stuff to use the Watch registers. * Useful to find stack overflows, dangling pointers etc. * * Copyright (C) 1995, 1996, 1999, 2001 by Ralf Baechle */#include <asm/asm.h>#include <asm/mipsregs.h>#include <asm/regdef.h>		.set	noreorder/* * Parameter: a0 - physical address to watch *            a1 - set bit #1 to trap on load references *                     bit #0 to trap on store references * Results  : none */		LEAF(__watch_set)		ori	a0, 7		xori	a0, 7		or	a0, a1		mtc0	a0, CP0_WATCHLO		sd	a0, watch_savelo		dsrl32	a0, a0, 0		jr	ra		 mtc0	zero, CP0_WATCHHI		END(__watch_set)/* * Parameter: none * Results  : none */		LEAF(__watch_clear)		jr	ra		 mtc0	zero, CP0_WATCHLO		END(__watch_clear)/* * Parameter: none * Results  : none */		LEAF(__watch_reenable)		ld	t0, watch_savelo		jr	ra		 mtc0	t0, CP0_WATCHLO		END(__watch_reenable)/* * Saved value of the c0_watchlo register for watch_reenable() */		.local	watch_savelo		.comm	watch_savelo, 8, 8

⌨️ 快捷键说明

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