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 + -
显示快捷键?