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

fault-armo.c File Reference

#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 <asm/system.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include "fault-common.c"

Include dependency graph for fault-armo.c:

Go to the source code of this file.

Defines

#define FAULT_CODE_FORCECOW   0x80
#define FAULT_CODE_PREFETCH   0x04
#define FAULT_CODE_WRITE   0x02
#define DO_COW(m)   ((m) & (FAULT_CODE_WRITE|FAULT_CODE_FORCECOW))
#define READ_FAULT(m)   (!((m) & FAULT_CODE_WRITE))

Functions

static void * alloc_table (int size, int prio)
void free_table (void *table)
pgd_t * get_pgd_slow (void)
pte_t * get_pte_slow (pmd_t *pmd, unsigned long offset)
asmlinkage void do_DataAbort (unsigned long min_addr, unsigned long max_addr, int mode, struct pt_regs *regs)
asmlinkage int do_PrefetchAbort (unsigned long addr, struct pt_regs *regs)


Define Documentation

#define DO_COW m   )     ((m) & (FAULT_CODE_WRITE|FAULT_CODE_FORCECOW))
 

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

Referenced by do_page_fault().

#define FAULT_CODE_FORCECOW   0x80
 

Definition at line 23 of file fault-armo.c.

Referenced by do_DataAbort().

#define FAULT_CODE_PREFETCH   0x04
 

Definition at line 24 of file fault-armo.c.

#define FAULT_CODE_WRITE   0x02
 

Definition at line 25 of file fault-armo.c.

#define READ_FAULT m   )     (!((m) & FAULT_CODE_WRITE))
 

Definition at line 28 of file fault-armo.c.

Referenced by do_page_fault().


Function Documentation

static void* alloc_table int  size,
int  prio
[static]
 

Definition at line 32 of file fault-armo.c.

References get_page_8k(), and printk.

Referenced by get_pgd_slow(), and get_pte_slow().

Here is the call graph for this function:

asmlinkage void do_DataAbort unsigned long  min_addr,
unsigned long  max_addr,
int  mode,
struct pt_regs regs
 

Definition at line 86 of file fault-armo.c.

References do_page_fault, FAULT_CODE_FORCECOW, and PAGE_SHIFT.

asmlinkage int do_PrefetchAbort unsigned long  addr,
struct pt_regs regs
 

Definition at line 95 of file fault-armo.c.

References do_page_fault, exists, FAULT_CODE_PREFETCH, page, printk, and the.

void free_table void *  table  ) 
 

Definition at line 39 of file fault-armo.c.

References free_page_8k().

Referenced by free_pgd_slow(), free_pte_slow(), and get_pte_slow().

Here is the call graph for this function:

pgd_t* get_pgd_slow void   ) 
 

Definition at line 44 of file fault-armo.c.

Referenced by get_pgd_fast().

pte_t* get_pte_slow pmd_t *  pmd,
unsigned long  offset
 

Definition at line 58 of file fault-armo.c.

References __bad_pmd(), alloc_table(), BAD_PAGETABLE, BYTES_PER_PTR, free_table(), memzero, mk_pmd(), NULL, pmd_bad, pmd_none, pmd_page, PTRS_PER_PTE, and set_pmd.

Here is the call graph for this function: