📄 dspmmu.h
字号:
//////////////////////////////////////////////////////////////////////////
// Copyright (C) 2004, Eyoka @ Microunit
// All Rights Reserved
//________________________________________________________________________
//
// FILENAME: dspmmu.h
// PROJECT: High-Resolution Video System On OMAP
// MODULE: MPU System
// DESCRIPTION: DSPMMU Interface.
// TARGET CPU: ARM-925T of OMAP5910
// VERSION: 0.2
//________________________________________________________________________
//
// REVISE HISTORY
// DATE VERSION AUTHOR DESCRIPTION
// 2004-11-08 0.2 Eyoka Checked.
// 2004-11-01 0.1 Eyoka Created.
//////////////////////////////////////////////////////////////////////////
#ifndef _DSPMMU_H_
#define _DSPMMU_H_
#include "datatypes.h"
/////////////////////////////////////////////////////////////////////
// TYPES
/////////////////////////////////////////////////////////////////////
typedef enum
{
SIZE_SECTION = 0,
SIZE_LARGE_PAGE = 1,
SIZE_SMALL_PAGE = 2,
SIZE_TINY_PAGE = 3
}
MMU_ENTRY_LENGTH_t;
typedef enum
{
NO_ACCESS = 0,
READ_ONLY = 2,
FULL_ACCESS = 3
}
MMU_ENTRY_AP_t;
typedef struct tagTLB_PARAM
{
DWORD phy_addr;
DWORD vir_addr;
BYTE size; // MMU_ENTRY_LENGTH_t
BYTE ap; // MMU_ENTRY_AP_t
BYTE bPreserved;
BYTE index;
}
TLB_PARAM;
/////////////////////////////////////////////////////////////////////
// DSPMMU REGISTERS
/////////////////////////////////////////////////////////////////////
#define DSPMMU_PREFETCH_REG REG16(0xFFFED200)
#define DSPMMU_WALKING_ST_REG REG16(0xFFFED204)
#define DSPMMU_CNTL_REG REG16(0xFFFED208)
#define DSPMMU_FAULT_AD_H_REG REG16(0xFFFED20C)
#define DSPMMU_FAULT_AD_L_REG REG16(0xFFFED210)
#define DSPMMU_F_ST_REG REG16(0xFFFED214)
#define DSPMMU_IT_ACK_REG REG16(0xFFFED218)
#define DSPMMU_TTB_H_REG REG16(0xFFFED21C)
#define DSPMMU_TTB_L_REG REG16(0xFFFED220)
#define DSPMMU_LOCK_REG REG16(0xFFFED224)
#define DSPMMU_LD_TLB_REG REG16(0xFFFED228)
#define DSPMMU_CAM_H_REG REG16(0xFFFED22C)
#define DSPMMU_CAM_L_REG REG16(0xFFFED230)
#define DSPMMU_RAM_H_REG REG16(0xFFFED234)
#define DSPMMU_RAM_L_REG REG16(0xFFFED238)
#define DSPMMU_GFLUSH_REG REG16(0xFFFED23C)
#define DSPMMU_FLUSH_ENTRY_REG REG16(0xFFFED240)
#define DSPMMU_READ_CAM_H_REG REG16(0xFFFED244)
#define DSPMMU_READ_CAM_L_REG REG16(0xFFFED248)
#define DSPMMU_READ_RAM_H_REG REG16(0xFFFED24C)
#define DSPMMU_READ_RAM_L_REG REG16(0xFFFED250)
/////////////////////////////////////////////////////////////////////
// DSPMMU FUNCTIONS
/////////////////////////////////////////////////////////////////////
//___________________________________________________________________
// Function: DSPMMU_TLB_Insert
// Usage: Write DSPMMU TLB entry.
// Parameters:
// pConfig pointer to TLB_PARAM.
// Return Values: N/A
//___________________________________________________________________
// locked base index considered 0
void DSPMMU_TLB_Insert(TLB_PARAM *pConfig);
//___________________________________________________________________
// Function: DSPMMU_ReleaseReset
// Usage: Release DSPMMU from reset.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_ReleaseReset(void);
//___________________________________________________________________
// Function: DSPMMU_Reset
// Usage: Reset DSPMMU.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_Reset(void);
//___________________________________________________________________
// Function: DSPMMU_Enable
// Usage: Enable DSPMMU.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_Enable(void);
//___________________________________________________________________
// Function: DSPMMU_Disable
// Usage: Disable DSPMMU.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_Disable(void);
#endif // ifndef _DSPMMU_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -