Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
tlb.c File Reference
#include <asm/tlb.h>
#include <asm/mmu_context.h>
#include <arch/hwregs/asm/mmu_defs_asm.h>
#include <arch/hwregs/supp_reg.h>

Go to the source code of this file.

Macros

#define UPDATE_TLB_SEL_IDX(val)
 
#define UPDATE_TLB_HILO(tlb_hi, tlb_lo)
 

Functions

void __flush_tlb_all (void)
 
void __flush_tlb_mm (struct mm_struct *mm)
 
void __flush_tlb_page (struct vm_area_struct *vma, unsigned long addr)
 
int init_new_context (struct task_struct *tsk, struct mm_struct *mm)
 
void switch_mm (struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk)
 

Macro Definition Documentation

#define UPDATE_TLB_HILO (   tlb_hi,
  tlb_lo 
)
Value:
do { \
SUPP_REG_WR(RW_MM_TLB_HI, tlb_hi); \
SUPP_REG_WR(RW_MM_TLB_LO, tlb_lo); \
} while(0)

Definition at line 23 of file tlb.c.

#define UPDATE_TLB_SEL_IDX (   val)
Value:
do { \
unsigned long tlb_sel; \
\
tlb_sel = REG_FIELD(mmu, rw_mm_tlb_sel, idx, val); \
SUPP_REG_WR(RW_MM_TLB_SEL, tlb_sel); \
} while(0)

Definition at line 15 of file tlb.c.

Function Documentation

void __flush_tlb_all ( void  )

Definition at line 45 of file tlb.c.

void __flush_tlb_mm ( struct mm_struct mm)

Definition at line 79 of file tlb.c.

void __flush_tlb_page ( struct vm_area_struct vma,
unsigned long  addr 
)

Definition at line 121 of file tlb.c.

int init_new_context ( struct task_struct tsk,
struct mm_struct mm 
)

Definition at line 169 of file tlb.c.

void switch_mm ( struct mm_struct prev,
struct mm_struct next,
struct task_struct tsk 
)

Definition at line 179 of file tlb.c.