RTEMS  5.0.0
Data Structures | Macros | Typedefs | Functions | Variables
mmu.h File Reference

Routines to manipulate the PPC 405 MMU. More...

#include <rtems.h>
#include <inttypes.h>
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  bsp_tlb_entry_t
 

Macros

#define NTLBS   64
 
#define MMU_M_SIZE_1K   (0x00000000U)
 
#define MMU_M_SIZE_4K   (0x08000000U)
 
#define MMU_M_SIZE_16K   (0x10000000U)
 
#define MMU_M_SIZE_64K   (0x18000000U)
 
#define MMU_M_SIZE_256K   (0x20000000U)
 
#define MMU_M_SIZE_1M   (0x28000000U)
 
#define MMU_M_SIZE_4M   (0x30000000U)
 
#define MMU_M_SIZE_16M   (0x38000000U)
 
#define MMU_M_SIZE_MIN   (MMU_M_SIZE_1K)
 
#define MMU_M_SIZE_MAX   (MMU_M_SIZE_16M)
 
#define MMU_M_SIZE   (0x38000000U)
 
#define MMU_V_SIZE   (27)
 
#define MMU_M_ATTR_LITTLE_ENDIAN   (0x02000000U)
 
#define MMU_M_ATTR_USER0   (0x01000000U)
 
#define MMU_M_ATTR   (0x03000000U)
 
#define MMU_V_ATTR   (24)
 
#define MMU_M_PERM_EXEC   (0x00000200U)
 
#define MMU_M_PERM_DATA_WRITE   (0x00000100U)
 
#define MMU_M_PERM_ZONE_SELECT   (0x000000f0U)
 
#define MMU_M_PERM   (0x000003f0U)
 
#define MMU_V_PERM   (4)
 
#define MMU_M_PROP_WRITE_THROUGH   (0x00000008U)
 
#define MMU_M_PROP_UNCACHED   (0x00000004U)
 
#define MMU_M_PROP_MEM_COHERENT   (0x00000002U)
 
#define MMU_M_PROP_GUARDED   (0x00000001U)
 
#define MMU_M_PROP   (0x0000000fU)
 
#define MMU_V_PROP   (0)
 

Typedefs

typedef int bsp_tlb_idx_t
 

Functions

void bsp_mmu_dump_cache (FILE *f)
 
int bsp_mmu_update (bsp_tlb_idx_t key, bool quiet, FILE *f)
 
int bsp_mmu_initialize (void)
 
bsp_tlb_idx_t bsp_mmu_find_first_free (void)
 
bsp_tlb_idx_t bsp_mmu_write (bsp_tlb_idx_t idx, uint32_t ea, uint32_t pa, uint sz, uint32_t flgs, uint32_t tid)
 
bsp_tlb_idx_t bsp_mmu_match (uint32_t ea, int sz, uint32_t tid)
 
bsp_tlb_idx_t bsp_mmu_find (uint32_t ea, uint32_t tid)
 
int bsp_mmu_invalidate (bsp_tlb_idx_t key)
 

Variables

bsp_tlb_entry_tbsp_mmu_cache
 

Detailed Description

Routines to manipulate the PPC 405 MMU.