aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/jprobes.S
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2006-11-14 12:33:38 -0500
committerTony Luck <tony.luck@intel.com>2006-12-12 15:00:55 -0500
commit08ed38b68099f2a492196414b08a7f5dd8dc3537 (patch)
tree1be49040ba10db0fefc16a31c4ee13461c50e131 /arch/ia64/kernel/jprobes.S
parent75f6a1de41f90543792403bf0ffb3ead59d0d8cc (diff)
[IA64] enable trap code on slot 1
Because slot 1 of one instr bundle crosses border of two consecutive 8-bytes, kprobe on slot 1 is disabled. This patch enables kprobe on slot1, it only replaces higher 8-bytes of the instruction bundle and changes the exception code to ignore the low 12 bits of the break number (which is across the border in the lower 8-bytes of the bundle). For those instructions which must execute regardless qp bits, kprobe on slot 1 is still disabled. Signed-off-by: bibo,mao <bibo.mao@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/jprobes.S')
-rw-r--r--arch/ia64/kernel/jprobes.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/ia64/kernel/jprobes.S b/arch/ia64/kernel/jprobes.S
index 5cd6226f44f2..621630256c4a 100644
--- a/arch/ia64/kernel/jprobes.S
+++ b/arch/ia64/kernel/jprobes.S
@@ -45,13 +45,14 @@
45 * to the correct location. 45 * to the correct location.
46 */ 46 */
47#include <asm/asmmacro.h> 47#include <asm/asmmacro.h>
48#include <asm-ia64/break.h>
48 49
49 /* 50 /*
50 * void jprobe_break(void) 51 * void jprobe_break(void)
51 */ 52 */
52 .section .kprobes.text, "ax" 53 .section .kprobes.text, "ax"
53ENTRY(jprobe_break) 54ENTRY(jprobe_break)
54 break.m 0x80300 55 break.m __IA64_BREAK_JPROBE
55END(jprobe_break) 56END(jprobe_break)
56 57
57 /* 58 /*