lkml.org 
[lkml]   [2015]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[RFC PATCH 3/3] early kprobes: introduce early kprobes related code area.
Date
Append early kprobe related slots to KPROBES_TEXT. This is arch
independent part. Arch code should define MAX_OPTINSN_SIZE,
KPROBE_OPCODE_SIZE and MAX_INSN_SIZE for it.

Signed-off-by: Wang Nan <wangnan0@huawei.com>
---
include/asm-generic/vmlinux.lds.h | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index ac78910..7cd1d21 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -424,11 +424,28 @@
*(.spinlock.text) \
VMLINUX_SYMBOL(__lock_text_end) = .;

+#ifndef CONFIG_EARLY_KPROBES
+# define EARLY_KPROBES_TEXT
+#else
+# define EARLY_KPROBES_TEXT \
+ . = ALIGN(8); \
+ VMLINUX_SYMBOL(__early_kprobes_start) = .; \
+ VMLINUX_SYMBOL(__early_kprobes_code_area_start) = .; \
+ . = . + MAX_OPTINSN_SIZE * CONFIG_NR_EARLY_KPROBES_SLOTS; \
+ VMLINUX_SYMBOL(__early_kprobes_code_area_end) = .; \
+ . = ALIGN(8); \
+ VMLINUX_SYMBOL(__early_kprobes_insn_slot_start) = .; \
+ . = . + MAX_INSN_SIZE * KPROBE_OPCODE_SIZE * CONFIG_NR_EARLY_KPROBES_SLOTS;\
+ VMLINUX_SYMBOL(__early_kprobes_insn_slot_end) = .; \
+ VMLINUX_SYMBOL(__early_kprobes_end) = .;
+#endif
+
#define KPROBES_TEXT \
ALIGN_FUNCTION(); \
VMLINUX_SYMBOL(__kprobes_text_start) = .; \
*(.kprobes.text) \
- VMLINUX_SYMBOL(__kprobes_text_end) = .;
+ VMLINUX_SYMBOL(__kprobes_text_end) = .; \
+ EARLY_KPROBES_TEXT

#define ENTRY_TEXT \
ALIGN_FUNCTION(); \
--
1.8.4


\
 
 \ /
  Last update: 2015-02-15 09:41    [W:0.092 / U:27.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site