Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

fault-armv.c File Reference

#include <linux/config.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/ptrace.h>
#include <linux/mman.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
#include <linux/proc_fs.h>
#include <linux/init.h>
#include <asm/system.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/unaligned.h>
#include "fault-common.c"

Include dependency graph for fault-armv.c:

Go to the source code of this file.

Defines

#define FAULT_CODE_READ   0x02
#define DO_COW(m)   (!((m) & FAULT_CODE_READ))
#define READ_FAULT(m)   ((m) & FAULT_CODE_READ)
#define BUG_PROC_MSG
#define DIE(signr, nam)

Functions

pgd_t * get_pgd_slow (void)
pte_t * get_pte_slow (pmd_t *pmd, unsigned long offset)
pte_t * get_pte_kernel_slow (pmd_t *pmd, unsigned long offset)
asmlinkage void do_DataAbort (unsigned long addr, int fsr, int error_code, struct pt_regs *regs)
asmlinkage int do_PrefetchAbort (unsigned long addr, struct pt_regs *regs)


Define Documentation

#define BUG_PROC_MSG
 

Value:

"Weirdness detected (%08X)\n" \
  "Please read http://www.arm.linux.org.uk/state.html for more information"

Definition at line 379 of file fault-armv.c.

Referenced by do_DataAbort().

#define DIE signr,
nam   ) 
 

Value:

force_sig(signr, current);\
                die(nam, regs, fsr);\
                break

Referenced by do_DataAbort().

#define DO_COW m   )     (!((m) & FAULT_CODE_READ))
 

Definition at line 29 of file fault-armv.c.

#define FAULT_CODE_READ   0x02
 

Definition at line 27 of file fault-armv.c.

Referenced by do_PrefetchAbort().

#define READ_FAULT m   )     ((m) & FAULT_CODE_READ)
 

Definition at line 30 of file fault-armv.c.


Function Documentation

asmlinkage void do_DataAbort unsigned long  addr,
int  fsr,
int  error_code,
struct pt_regs regs
 

Definition at line 384 of file fault-armv.c.

References BUG_PROC_MSG, c_backtrace(), current, DIE, die(), do_page_fault, first, force_sig(), i, j, KERN_ERR, printk, show_regs, SIGBUS, SIGKILL, SIGSEGV, and user_mode.

Here is the call graph for this function:

asmlinkage int do_PrefetchAbort unsigned long  addr,
struct pt_regs regs
 

Definition at line 487 of file fault-armv.c.

References do_page_fault, and FAULT_CODE_READ.

pgd_t* get_pgd_slow void   ) 
 

Definition at line 34 of file fault-armv.c.

References __get_free_pages(), BYTES_PER_PTR, clean_cache_area, init, init_mm, memcpy, memzero, pgd_offset, PTRS_PER_PGD, and USER_PTRS_PER_PGD.

Here is the call graph for this function:

pte_t* get_pte_kernel_slow pmd_t *  pmd,
unsigned long  offset
 

Definition at line 76 of file fault-armv.c.

Referenced by pte_alloc_kernel().

pte_t* get_pte_slow pmd_t *  pmd,
unsigned long  offset
 

Definition at line 52 of file fault-armv.c.

References __bad_pmd(), BAD_PAGETABLE, BYTES_PER_PTR, clean_cache_area, free_page_2k(), get_page_2k(), memzero, mk_user_pmd, NULL, pmd_bad, pmd_none, pmd_page, PTRS_PER_PTE, and set_pmd.

Here is the call graph for this function: