PA_LLD_OSAL

Defines

#define Pa_osalBeginMemAccess   Osal_paBeginMemAccess
 This macro is used to alert the application that the PA is going to access a block of memory. The application must ensure cache coherency for multi-core applications.
#define Pa_osalEndMemAccess   Osal_paEndMemAccess
 This macro is used to alert the application that the PA has completed access to a block of memory. If the memory block is cached then the application would need to ensure that the contents of the cache are updated immediately to the actual memory.
#define Pa_osalMtCsEnter   Osal_paMtCsEnter
 The macro is used by the PA LLD to provide critical section to protect its global and shared resources access from multiple cores. If the PALLD operates in single-core environment then these macros can be defined to be NOP.
#define Pa_osalMtCsExit   Osal_paMtCsExit
 The macro is used by the PA LLD to exit a critical section protected using the Osal_paMtCsEnter() API.

Define Documentation

#define Pa_osalBeginMemAccess   Osal_paBeginMemAccess

This macro is used to alert the application that the PA is going to access a block of memory. The application must ensure cache coherency for multi-core applications.

Prototype: The following is the C prototype for the expected OSAL API.

        void Osal_paBeginMemAccess (void* addr, uint32_t sizeWords)
    

Parameters
The address of the table to be accessed
The number of bytes in the table

Note:
PA will make nested calls to this function for memory access protection of different memory tables.
#define Pa_osalEndMemAccess   Osal_paEndMemAccess

This macro is used to alert the application that the PA has completed access to a block of memory. If the memory block is cached then the application would need to ensure that the contents of the cache are updated immediately to the actual memory.

Prototype: The following is the C prototype for the expected OSAL API.

        void Osal_paEndMemAccess (void* addr, uint32_t sizeWords)
    

Parameters
The address of the table to be accessed
The number of bytes in the table

Note:
PA will make nested calls to this function for memory access protection of different memory tables.
#define Pa_osalMtCsEnter   Osal_paMtCsEnter

The macro is used by the PA LLD to provide critical section to protect its global and shared resources access from multiple cores. If the PALLD operates in single-core environment then these macros can be defined to be NOP.

Prototype: The following is the C prototype for the expected OSAL API.

       void Osal_paMtCsEnter (uint32_t *key)
    

Parameter
Key may be used to lock the multi-core critical section.

Return Value
Not applicable.

Note:
The multiple-core protection area is usually pretty small. To avoid the scenario that the interrupt occurs after the multi-core lock is achieved, the interrupt may be disabled in this function and re-enabled at the function Osal_saMtCsExit.
#define Pa_osalMtCsExit   Osal_paMtCsExit

The macro is used by the PA LLD to exit a critical section protected using the Osal_paMtCsEnter() API.

Prototype: The following is the C prototype for the expected OSAL API.

       void Osal_paMtCsExit (uint32_t key)
    

Parameter
Key may be used to lock the multi-core critical section.

Return Value
Not applicable.


Copyright 2012, Texas Instruments Incorporated