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

📄 watch.s

📁 linux-2.6.15.6
💻 S
字号:
/* * 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -