Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
tlb.c File Reference
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include <as-layout.h>
#include <mem_user.h>
#include <os.h>
#include <skas.h>

Go to the source code of this file.

Data Structures

struct  host_vm_change
 
struct  host_vm_change::host_vm_op
 

Macros

#define INIT_HVC(mm, force)
 
#define ADD_ROUND(n, inc)   (((n) + (inc)) & ~((inc) - 1))
 

Functions

void fix_range_common (struct mm_struct *mm, unsigned long start_addr, unsigned long end_addr, int force)
 
void flush_tlb_page (struct vm_area_struct *vma, unsigned long address)
 
pgd_tpgd_offset_proc (struct mm_struct *mm, unsigned long address)
 
pud_tpud_offset_proc (pgd_t *pgd, unsigned long address)
 
pmd_tpmd_offset_proc (pud_t *pud, unsigned long address)
 
pte_tpte_offset_proc (pmd_t *pmd, unsigned long address)
 
pte_taddr_pte (struct task_struct *task, unsigned long addr)
 
void flush_tlb_all (void)
 
void flush_tlb_kernel_range (unsigned long start, unsigned long end)
 
void flush_tlb_kernel_vm (void)
 
void __flush_tlb_one (unsigned long addr)
 
void flush_tlb_range (struct vm_area_struct *vma, unsigned long start, unsigned long end)
 
 EXPORT_SYMBOL (flush_tlb_range)
 
void flush_tlb_mm_range (struct mm_struct *mm, unsigned long start, unsigned long end)
 
void flush_tlb_mm (struct mm_struct *mm)
 
void force_flush_all (void)
 

Macro Definition Documentation

#define ADD_ROUND (   n,
  inc 
)    (((n) + (inc)) & ~((inc) - 1))

Definition at line 177 of file tlb.c.

#define INIT_HVC (   mm,
  force 
)
Value:
((struct host_vm_change) \
{ .ops = { { .type = NONE } }, \
.id = &mm->context.id, \
.data = NULL, \
.index = 0, \
.force = force })

Definition at line 44 of file tlb.c.

Function Documentation

void __flush_tlb_one ( unsigned long  addr)

Definition at line 485 of file tlb.c.

pte_t* addr_pte ( struct task_struct task,
unsigned long  addr 
)

Definition at line 461 of file tlb.c.

EXPORT_SYMBOL ( flush_tlb_range  )
void fix_range_common ( struct mm_struct mm,
unsigned long  start_addr,
unsigned long  end_addr,
int  force 
)

Definition at line 259 of file tlb.c.

void flush_tlb_all ( void  )

flush_tlb_all - Completely invalidate TLBs on all CPUs

Definition at line 470 of file tlb.c.

void flush_tlb_kernel_range ( unsigned long  start,
unsigned long  end 
)

Definition at line 475 of file tlb.c.

void flush_tlb_kernel_vm ( void  )

Definition at line 480 of file tlb.c.

void flush_tlb_mm ( struct mm_struct mm)

flush_tlb_mm - Invalidate TLB of specified VM context : The VM context to invalidate.

Definition at line 518 of file tlb.c.

void flush_tlb_mm_range ( struct mm_struct mm,
unsigned long  start,
unsigned long  end 
)

Definition at line 505 of file tlb.c.

void flush_tlb_page ( struct vm_area_struct vma,
unsigned long  address 
)

flush_tlb_page - Invalidate TLB of page : The VM context to invalidate the page for. : The virtual address of the page to invalidate.

Definition at line 376 of file tlb.c.

void flush_tlb_range ( struct vm_area_struct vma,
unsigned long  start,
unsigned long  end 
)

Definition at line 496 of file tlb.c.

void force_flush_all ( void  )

Definition at line 528 of file tlb.c.

pgd_t* pgd_offset_proc ( struct mm_struct mm,
unsigned long  address 
)

Definition at line 441 of file tlb.c.

pmd_t* pmd_offset_proc ( pud_t pud,
unsigned long  address 
)

Definition at line 451 of file tlb.c.

pte_t* pte_offset_proc ( pmd_t pmd,
unsigned long  address 
)

Definition at line 456 of file tlb.c.

pud_t* pud_offset_proc ( pgd_t pgd,
unsigned long  address 
)

Definition at line 446 of file tlb.c.