初版
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
#ifndef __Q32DSP_DCACHE__
|
||||
#define __Q32DSP_DCACHE__
|
||||
|
||||
//*********************************************************************************//
|
||||
// Module name : dcache.h //
|
||||
// Description : q32DSP dcache control head file //
|
||||
// By Designer : zequan_liu //
|
||||
// Dat changed : //
|
||||
//*********************************************************************************//
|
||||
|
||||
#define INCLUDE_DCU_RPT 0
|
||||
#define INCLUDE_DCU_EMU 0
|
||||
#define INCLUDE_L1D 0
|
||||
#define INCLUDE_L2D 0
|
||||
|
||||
//------------------------------------------------------//
|
||||
// peripheral level 1 function
|
||||
//------------------------------------------------------//
|
||||
|
||||
#if (INCLUDE_L1D)
|
||||
|
||||
void L1pEnable(void);
|
||||
void L1pDisable(void);
|
||||
void L1pInitial(void);
|
||||
void L1pSetWayNum(unsigned int way);
|
||||
|
||||
void L1pInvalidAll(void);
|
||||
void L1pInvalidRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void L1pFlushAll(void);
|
||||
void L1pFlushRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void L1pFlushinvAll(void);
|
||||
void L1pFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void L1pPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
|
||||
void L1pReportEnable(void);
|
||||
void L1pReportDisable(void);
|
||||
void L1pReportClear(void);
|
||||
void L1pReportPrintf(void);
|
||||
|
||||
void L1pEmuEnable(void);
|
||||
void L1pEmuDisable(void);
|
||||
void L1pEmuMessage(void);
|
||||
|
||||
void L1pWrThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
void L1pRwThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
void L1pPrivateRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
|
||||
#else
|
||||
|
||||
#define L1pEnable DcuEnable
|
||||
#define L1pDisable DcuDisable
|
||||
#define L1pInitial DcuInitial
|
||||
#define L1pWaitIdle DcuWaitIdle
|
||||
#define L1pSetWayNum DcuSetWayNum
|
||||
|
||||
#define L1pInvalidAll DcuInvalidAll
|
||||
#define L1pInvalidRegion DcuInvalidRegion
|
||||
#define L1pFlushAll DcuFlushAll
|
||||
#define L1pFlushRegion DcuFlushRegion
|
||||
#define L1pFlushinvAll DcuFlushinvAll
|
||||
#define L1pFlushinvRegion DcuFlushinvRegion
|
||||
#define L1pPfetchRegion DcuPfetchRegion
|
||||
|
||||
#define L1pReportEnable DcuReportEnable
|
||||
#define L1pReportDisable DcuReportDisable
|
||||
#define L1pReportClear DcuReportClear
|
||||
#define L1pReportPrintf DcuReportPrintf
|
||||
|
||||
#define L1pEmuEnable DcuEmuEnable
|
||||
#define L1pEmuDisable DcuEmuDisable
|
||||
#define L1pEmuMessage DcuEmuMessage
|
||||
|
||||
#define L1pWrThroughRegion DcuWrThroughRegion
|
||||
#define L1pRwThroughRegion DcuRwThroughRegion
|
||||
#define L1pPrivateRegion DcuPrivateRegion
|
||||
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------//
|
||||
// dcache level 1 function
|
||||
//------------------------------------------------------//
|
||||
|
||||
void DcuEnable(void);
|
||||
void DcuDisable(void);
|
||||
void DcuInitial(void);
|
||||
void DcuWaitIdle(void);
|
||||
void DcuSetWayNum(unsigned int way);
|
||||
|
||||
void DcuInvalidAll(void);
|
||||
void DcuInvalidRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void DcuFlushAll(void);
|
||||
void DcuFlushRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void DcuFlushinvAll(void);
|
||||
void DcuFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void DcuPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
|
||||
void DcuReportEnable(void);
|
||||
void DcuReportDisable(void);
|
||||
void DcuReportClear(void);
|
||||
void DcuReportPrintf(void);
|
||||
|
||||
void DcuEmuEnable(void);
|
||||
void DcuEmuDisable(void);
|
||||
void DcuEmuMessage(void);
|
||||
|
||||
void DcuWrThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
void DcuRwThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
void DcuPrivateRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
|
||||
//------------------------------------------------------//
|
||||
// dcache level 2 function
|
||||
//------------------------------------------------------//
|
||||
|
||||
#if (INCLUDE_L2D)
|
||||
|
||||
void L2dEnable(void);
|
||||
void L2dDisable(void);
|
||||
void L2dInitial(void);
|
||||
void L2dSetWayNum(unsigned int way);
|
||||
|
||||
void L2dInvalidAll(void);
|
||||
void L2dInvalidRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void L2dFlushAll(void);
|
||||
void L2dFlushRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void L2dFlushinvAll(void);
|
||||
void L2dFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
void L2dPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0
|
||||
|
||||
void L2dReportEnable(void);
|
||||
void L2dReportDisable(void);
|
||||
void L2dReportClear(void);
|
||||
void L2dReportPrintf(void);
|
||||
|
||||
void L2dEmuEnable(void);
|
||||
void L2dEmuDisable(void);
|
||||
void L2dEmuMessage(void);
|
||||
|
||||
void L2dWrThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
void L2dRwThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
void L2dPrivateRegion(unsigned int num, unsigned int *beg, unsigned int len);
|
||||
|
||||
#endif
|
||||
|
||||
//*********************************************************************************//
|
||||
// //
|
||||
// end of this module //
|
||||
// //
|
||||
//*********************************************************************************//
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user