summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/entry_32.S
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 08:25:10 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 08:25:10 +0100
commit7971e23a66c94f1b9bd2d64a3e86dfbfa8c60121 (patch)
tree20ff577e437ac6c361335151ce6b4c59bc72de02 /arch/x86/kernel/entry_32.S
parentMerge tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba... (diff)
parentx86, trace: Change user|kernel_page_fault to page_fault_user|kernel (diff)
downloadlinux-7971e23a66c94f1b9bd2d64a3e86dfbfa8c60121.tar.xz
linux-7971e23a66c94f1b9bd2d64a3e86dfbfa8c60121.zip
Merge branch 'x86-trace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86/trace changes from Ingo Molnar: "This adds page fault tracepoints which have zero runtime cost in the disabled case via IDT trickery (no NOPs in the page fault hotpath)" * 'x86-trace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, trace: Change user|kernel_page_fault to page_fault_user|kernel x86, trace: Add page fault tracepoints x86, trace: Delete __trace_alloc_intr_gate() x86, trace: Register exception handler to trace IDT x86, trace: Remove __alloc_intr_gate()
Diffstat (limited to 'arch/x86/kernel/entry_32.S')
-rw-r--r--arch/x86/kernel/entry_32.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index fd1bc1b15e6d..51e2988c5728 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -1244,6 +1244,16 @@ return_to_handler:
*/
.pushsection .kprobes.text, "ax"
+#ifdef CONFIG_TRACING
+ENTRY(trace_page_fault)
+ RING0_EC_FRAME
+ ASM_CLAC
+ pushl_cfi $trace_do_page_fault
+ jmp error_code
+ CFI_ENDPROC
+END(trace_page_fault)
+#endif
+
ENTRY(page_fault)
RING0_EC_FRAME
ASM_CLAC