csl_mmuaux.h
来自「dsp在音频处理中的运用」· C头文件 代码 · 共 702 行 · 第 1/2 页
H
702 行
* @b Example
* @verbatim
CSL_mmuSetDomainAccess (5, CSL_MMU_DOMAIN_ACCESS_CLIENT);
@endverbatim
* ===========================================================================
*/
extern void CSL_mmuSetDomainAccess (
Uint16 domainNumber,
CSL_MmuDomainAccess access
);
/** ============================================================================
* @n@b CSL_mmuGetDomainAccess
*
* @b Description
* @n This function returns the value of domain access control register.Access
* condition for all the 16 domains will be encoded, with 2 bits per domain
* starting from domain 0 at the LSB
*
* @b Arguments
* @verbatim
None
@endverbatim
*
* <b> Return Value </b> Uint32
* @li The value in domain access register
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n None
*
* @b Modifies
* @n None
*
* @b Example
* @verbatim
Uint32 access;
access = CSL_mmuGetDomainAccess ();
@endverbatim
* ===========================================================================
*/
extern Uint32 CSL_mmuGetDomainAccess (
void
);
/** ============================================================================
* @n@b CSL_mmuGetDataFaultStatus
*
* @b Description
* @n This function gets the fault status from the data fault status register
*
* @b Arguments
* @verbatim
None
@endverbatim
*
* <b> Return Value </b> Uint32
* @li The value in data fault status register
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n None
*
* @b Modifies
* @n None
*
* @b Example
* @verbatim
Uint32 faultStatus;
faultStatus = CSL_mmuGetDataFaultStatus ();
@endverbatim
* ===========================================================================
*/
extern Uint32 CSL_mmuGetDataFaultStatus (
void
);
/** ============================================================================
* @n@b CSL_mmuGetInsFaultStatus
*
* @b Description
* @n This function gets the fault status from the instruction fault status
* register
*
* @b Arguments
* @verbatim
None
@endverbatim
*
* <b> Return Value </b> Uint32
* @li The value in instruction fault status register
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n None
*
* @b Modifies
* @n None
*
* @b Example
* @verbatim
Uint32 faultStatus;
faultStatus = CSL_mmuGetInsFaultStatus ();
@endverbatim
* ===========================================================================
*/
extern Uint32 CSL_mmuGetInsFaultStatus (
void
);
/** ============================================================================
* @n@b CSL_mmuGetFaultAddress
*
* @b Description
* @n This function gets the fault adress from the fault address register
*
* @b Arguments
* @verbatim
None
@endverbatim
*
* <b> Return Value </b> Uint32
* @li The value in fault address register
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n None
*
* @b Modifies
* @n None
*
* @b Example
* @verbatim
Uint32 faultAddress;
faultStatus = CSL_mmuGetFaultAddress ();
@endverbatim
* ===========================================================================
*/
extern Uint32 CSL_mmuGetFaultAddress (
void
);
/** ============================================================================
* @n@b CSL_mmuSetProtectionMode
*
* @b Description
* @n This function sets the S and R bits of system control coprocessor
* control register (C1) according to the value specified in second
* argument
*
* @b Arguments
* @verbatim
protMode Value for S and R bit
@endverbatim
*
* <b> Return Value </b> None
*
* <b> Pre Condition </b>
* @n Should be in privileged mode
*
* <b> Post Condition </b>
* @n The protection bits (S and R bits) of C1 will have specified values
*
* @b Modifies
* @n System control coprocessor control register (C1)
*
* @b Example
* @verbatim
CSL_mmuSetProtectionMode (CSL_MMU_PAGE_ACCESS_MODE_01);
@endverbatim
* ===========================================================================
*/
extern void CSL_mmuSetProtectionMode (
CSL_MmuProtectionMode protMode
);
/** ============================================================================
* @n@b CSL_mmuGetProtectionMode
*
* @b Description
* @n This function gets the value of protection bits (S and R bits) of
* coprocessor control register
*
* @b Arguments
* @verbatim
None
@endverbatim
*
* <b> Return Value </b> CSL_MmuProtectionMode
* @li value is decided by values of S and R bits
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n None
*
* @b Modifies
* @n None
*
* @b Example
* @verbatim
CSL_MmuProtectionMode protectionMode;
protectionMode = CSL_mmuGetProtectionMode ();
@endverbatim
* ===========================================================================
*/
extern CSL_MmuProtectionMode CSL_mmuGetProtectionMode (
void
);
/** ============================================================================
* @n@b CSL_mmuInvTLB
*
* @b Description
* @n This function invalidates the entire TLB except for the entries in
* lockdown region
*
* @b Arguments
* @verbatim
None
@endverbatim
*
* <b> Return Value </b> None
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n TLB will be invalidated
*
* @b Modifies
* @n Contents of TLB
*
* @b Example
* @verbatim
CSL_mmuInvTLB ();
@endverbatim
* ===========================================================================
*/
extern void CSL_mmuInvTLB (
void
);
/** ============================================================================
* @n@b CSL_mmuInvTLBEntry
*
* @b Description
* @n This function invalidates the TLB entry specified using virtual address
*
* @b Arguments
* @verbatim
virtualAddress The virtual address of the entry to be invalidated
@endverbatim
*
* <b> Return Value </b> None
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n Specified TLB entry will be invalidated
*
* @b Modifies
* @n Contents of TLB
*
* @b Example
* @verbatim
CSL_mmuInvTLBEntry (0x10000000);
@endverbatim
* ===========================================================================
*/
void CSL_mmuInvTLBEntry (
Uint32 virtualAddress
);
/** ============================================================================
* @n@b CSL_mmuTLBLockdownControl
*
* @b Description
* @n This function can be used to ensure that entry is made in the lockdown
* region of the TLB
*
* @b Arguments
* @verbatim
preserve Specifies whether to make entry to lockdown region of TLB
victim sets the victim counter in the lockdown region
@endverbatim
*
* <b> Return Value </b> None
*
* <b> Pre Condition </b>
* @n should be in privileged mode
*
* <b> Post Condition </b>
* @n Specified TLB entry will be invalidated
*
* @b Modifies
* @n None
*
* @b Example
* @verbatim
CSL_mmuTLBLockdownControl (TRUE, 6);
@endverbatim
* ===========================================================================
*/
void CSL_mmuTLBLockdownControl (
Bool preserve,
Uint16 victim
);
#ifdef __cplusplus
}
#endif
#endif /* _CSL_MMUAUX_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?