diff options
Diffstat (limited to 'arch/s390/mm/fault.c')
-rw-r--r-- | arch/s390/mm/fault.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 2c57806c085..f07b4d2cb53 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -5,6 +5,7 @@ * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation * Author(s): Hartmut Penner (hp@de.ibm.com) * Ulrich Weigand (uweigand@de.ibm.com) + * Portions added by T. Halloran: (C) Copyright 2002 IBM Poughkeepsie, IBM Corporation * * Derived from "arch/i386/mm/fault.c" * Copyright (C) 1995 Linus Torvalds @@ -31,6 +32,7 @@ #include <linux/kprobes.h> #include <linux/uaccess.h> #include <linux/hugetlb.h> +#include <trace/fault.h> #include <asm/asm-offsets.h> #include <asm/system.h> #include <asm/pgtable.h> @@ -39,6 +41,11 @@ #include <asm/compat.h> #include "../kernel/entry.h" +DEFINE_TRACE(page_fault_entry); +DEFINE_TRACE(page_fault_exit); +DEFINE_TRACE(page_fault_nosem_entry); +DEFINE_TRACE(page_fault_nosem_exit); + #ifndef CONFIG_64BIT #define __FAIL_ADDR_MASK 0x7ffff000 #define __SUBCODE_MASK 0x0200 @@ -272,7 +279,10 @@ static noinline void do_fault_error(struct pt_regs *regs, long int_code, /* User mode accesses just cause a SIGSEGV */ si_code = (fault == VM_FAULT_BADMAP) ? SEGV_MAPERR : SEGV_ACCERR; + trace_page_fault_nosem_entry(regs, int_code & 0xffff, + trans_exc_code); do_sigsegv(regs, int_code, si_code, trans_exc_code); + trace_page_fault_nosem_exit(); return; } case VM_FAULT_BADCONTEXT: |