Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
hash_utils_64.c File Reference
#include <linux/spinlock.h>
#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/proc_fs.h>
#include <linux/stat.h>
#include <linux/sysctl.h>
#include <linux/export.h>
#include <linux/ctype.h>
#include <linux/cache.h>
#include <linux/init.h>
#include <linux/signal.h>
#include <linux/memblock.h>
#include <asm/processor.h>
#include <asm/pgtable.h>
#include <asm/mmu.h>
#include <asm/mmu_context.h>
#include <asm/page.h>
#include <asm/types.h>
#include <asm/uaccess.h>
#include <asm/machdep.h>
#include <asm/prom.h>
#include <asm/tlbflush.h>
#include <asm/io.h>
#include <asm/eeh.h>
#include <asm/tlb.h>
#include <asm/cacheflush.h>
#include <asm/cputable.h>
#include <asm/sections.h>
#include <asm/spu.h>
#include <asm/udbg.h>
#include <asm/code-patching.h>
#include <asm/fadump.h>
#include <asm/firmware.h>

Go to the source code of this file.

Macros

#define DBG(fmt...)
 
#define DBG_LOW(fmt...)
 
#define KB   (1024)
 
#define MB   (1024*KB)
 
#define GB   (1024L*MB)
 
#define FUNCTION_TEXT(A)   ((*(unsigned long *)(A)))
 

Functions

 EXPORT_SYMBOL_GPL (htab_hash_mask)
 
 EXPORT_SYMBOL_GPL (mmu_slb_size)
 
int htab_bolt_mapping (unsigned long vstart, unsigned long vend, unsigned long pstart, unsigned long prot, int psize, int ssize)
 
void __init early_init_mmu (void)
 
unsigned int hash_page_do_lazy_icache (unsigned int pp, pte_t pte, int trap)
 
unsigned int get_paca_psize (unsigned long addr)
 
void hash_failure_debug (unsigned long ea, unsigned long access, unsigned long vsid, unsigned long trap, int ssize, int psize, unsigned long pte)
 
int hash_page (unsigned long ea, unsigned long access, unsigned long trap)
 
 EXPORT_SYMBOL_GPL (hash_page)
 
void hash_preload (struct mm_struct *mm, unsigned long ea, unsigned long access, unsigned long trap)
 
void flush_hash_page (unsigned long vpn, real_pte_t pte, int psize, int ssize, int local)
 
void flush_hash_range (unsigned long number, int local)
 
void low_hash_fault (struct pt_regs *regs, unsigned long address, int rc)
 
void setup_initial_memory_limit (phys_addr_t first_memblock_base, phys_addr_t first_memblock_size)
 

Variables

struct mmu_psize_def mmu_psize_defs [MMU_PAGE_COUNT]
 
struct hash_ptehtab_address
 
unsigned long htab_size_bytes
 
unsigned long htab_hash_mask
 
int mmu_linear_psize = MMU_PAGE_4K
 
int mmu_virtual_psize = MMU_PAGE_4K
 
int mmu_vmalloc_psize = MMU_PAGE_4K
 
int mmu_io_psize = MMU_PAGE_4K
 
int mmu_kernel_ssize = MMU_SEGSIZE_256M
 
int mmu_highuser_ssize = MMU_SEGSIZE_256M
 
u16 mmu_slb_size = 64
 

Macro Definition Documentation

#define DBG (   fmt...)

Definition at line 62 of file hash_utils_64.c.

#define DBG_LOW (   fmt...)

Definition at line 68 of file hash_utils_64.c.

#define FUNCTION_TEXT (   A)    ((*(unsigned long *)(A)))

Definition at line 549 of file hash_utils_64.c.

#define GB   (1024L*MB)

Definition at line 73 of file hash_utils_64.c.

#define KB   (1024)

Definition at line 71 of file hash_utils_64.c.

#define MB   (1024*KB)

Definition at line 72 of file hash_utils_64.c.

Function Documentation

void __init early_init_mmu ( void  )

Definition at line 746 of file hash_utils_64.c.

EXPORT_SYMBOL_GPL ( htab_hash_mask  )
EXPORT_SYMBOL_GPL ( mmu_slb_size  )
EXPORT_SYMBOL_GPL ( hash_page  )
void flush_hash_page ( unsigned long  vpn,
real_pte_t  pte,
int  psize,
int  ssize,
int  local 
)

Definition at line 1158 of file hash_utils_64.c.

void flush_hash_range ( unsigned long  number,
int  local 
)

Definition at line 1176 of file hash_utils_64.c.

unsigned int get_paca_psize ( unsigned long  addr)

Definition at line 822 of file hash_utils_64.c.

void hash_failure_debug ( unsigned long  ea,
unsigned long  access,
unsigned long  vsid,
unsigned long  trap,
int  ssize,
int  psize,
unsigned long  pte 
)

Definition at line 892 of file hash_utils_64.c.

int hash_page ( unsigned long  ea,
unsigned long  access,
unsigned long  trap 
)

Definition at line 910 of file hash_utils_64.c.

unsigned int hash_page_do_lazy_icache ( unsigned int  pp,
pte_t  pte,
int  trap 
)

Definition at line 783 of file hash_utils_64.c.

void hash_preload ( struct mm_struct mm,
unsigned long  ea,
unsigned long  access,
unsigned long  trap 
)

Definition at line 1086 of file hash_utils_64.c.

int htab_bolt_mapping ( unsigned long  vstart,
unsigned long  vend,
unsigned long  pstart,
unsigned long  prot,
int  psize,
int  ssize 
)

Definition at line 174 of file hash_utils_64.c.

void low_hash_fault ( struct pt_regs regs,
unsigned long  address,
int  rc 
)

Definition at line 1195 of file hash_utils_64.c.

void setup_initial_memory_limit ( phys_addr_t  first_memblock_base,
phys_addr_t  first_memblock_size 
)

Definition at line 1269 of file hash_utils_64.c.

Variable Documentation

struct hash_pte* htab_address

Definition at line 94 of file hash_utils_64.c.

unsigned long htab_hash_mask

Definition at line 96 of file hash_utils_64.c.

unsigned long htab_size_bytes

Definition at line 95 of file hash_utils_64.c.

int mmu_highuser_ssize = MMU_SEGSIZE_256M

Definition at line 106 of file hash_utils_64.c.

int mmu_io_psize = MMU_PAGE_4K

Definition at line 104 of file hash_utils_64.c.

int mmu_kernel_ssize = MMU_SEGSIZE_256M

Definition at line 105 of file hash_utils_64.c.

int mmu_linear_psize = MMU_PAGE_4K

Definition at line 98 of file hash_utils_64.c.

struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT]

Definition at line 92 of file hash_utils_64.c.

u16 mmu_slb_size = 64

Definition at line 107 of file hash_utils_64.c.

int mmu_virtual_psize = MMU_PAGE_4K

Definition at line 99 of file hash_utils_64.c.

int mmu_vmalloc_psize = MMU_PAGE_4K

Definition at line 100 of file hash_utils_64.c.