Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
tlb-sh5.c File Reference
#include <linux/mm.h>
#include <linux/init.h>
#include <asm/page.h>
#include <asm/tlb.h>
#include <asm/mmu_context.h>

Go to the source code of this file.

Functions

int __cpuinit sh64_tlb_init (void)
 
unsigned long long sh64_next_free_dtlb_entry (void)
 
unsigned long long sh64_get_wired_dtlb_entry (void)
 
int sh64_put_wired_dtlb_entry (unsigned long long entry)
 
void sh64_setup_tlb_slot (unsigned long long config_addr, unsigned long eaddr, unsigned long asid, unsigned long paddr)
 
void sh64_teardown_tlb_slot (unsigned long long config_addr) __attribute__((alias("__flush_tlb_slot")))
 
void tlb_wire_entry (struct vm_area_struct *vma, unsigned long addr, pte_t pte)
 
void tlb_unwire_entry (void)
 
void __update_tlb (struct vm_area_struct *vma, unsigned long address, pte_t pte)
 

Function Documentation

void __update_tlb ( struct vm_area_struct vma,
unsigned long  address,
pte_t  pte 
)

Definition at line 186 of file tlb-sh5.c.

unsigned long long sh64_get_wired_dtlb_entry ( void  )

sh64_get_wired_dtlb_entry - Allocate a wired (locked-in) entry in the DTLB

Definition at line 57 of file tlb-sh5.c.

unsigned long long sh64_next_free_dtlb_entry ( void  )

sh64_next_free_dtlb_entry - Find the next available DTLB entry

Definition at line 49 of file tlb-sh5.c.

int sh64_put_wired_dtlb_entry ( unsigned long long  entry)

sh64_put_wired_dtlb_entry - Free a wired (locked-in) entry in the DTLB.

: Address of TLB slot.

Works like a stack, last one to allocate must be first one to free.

Definition at line 74 of file tlb-sh5.c.

void sh64_setup_tlb_slot ( unsigned long long  config_addr,
unsigned long  eaddr,
unsigned long  asid,
unsigned long  paddr 
)

sh64_setup_tlb_slot - Load up a translation in a wired slot.

: Address of TLB slot. : Virtual address. : Address Space Identifier. : Physical address.

Load up a virtual<->physical translation for <-> in the pre-allocated TLB slot (see sh64_get_wired_dtlb_entry).

Definition at line 120 of file tlb-sh5.c.

void sh64_teardown_tlb_slot ( unsigned long long  config_addr)

sh64_teardown_tlb_slot - Teardown a translation.

: Address of TLB slot.

Teardown any existing mapping in the TLB slot .

int __cpuinit sh64_tlb_init ( void  )

sh64_tlb_init - Perform initial setup for the DTLB and ITLB.

Definition at line 20 of file tlb-sh5.c.

void tlb_unwire_entry ( void  )

Definition at line 170 of file tlb-sh5.c.

void tlb_wire_entry ( struct vm_area_struct vma,
unsigned long  addr,
pte_t  pte 
)

Definition at line 150 of file tlb-sh5.c.