Defines
Packet Library OS Abstraction Layer
Packet Library

Defines

#define Pktlib_osalBeginMemAccess   Osal_pktLibBeginMemAccess
 The macro is used by the Packet Library to indicate that the shared memory heaps are about to be accessed. If the memory block is cached then the implementation should invalidate the cache contents to ensure that the Packet Library reads the actual memory and not the cache.
#define Pktlib_osalEndMemAccess   Osal_pktLibEndMemAccess
 The macro is used by the Packet Library to indicate that the shared memory heaps have been accessed and updated. If the memory block is cached then the implementation should writeback the cache contents to ensure that the cache and the memory are in sync with each other.
#define Pktlib_osalEnterCriticalSection   Osal_pktLibEnterCriticalSection
 This API will be called by the packet library to start the critical section before any resource is modified. Depending upon the heap usage (Multicore vs. Multithread); the critical section implementation will change.
#define Pktlib_osalExitCriticalSection   Osal_pktLibExitCriticalSection
 This API will be called by the packet library to end the critical section after the resource is modified. Depending upon the heap usage (Multicore vs. Multithread); the critical section implementation will change.
#define Pktlib_osalBeginPktAccess   Osal_pktLibBeginPktAccess
 The macro is used by the Packet Library to indicate that packet is about to be accessed. If the packet is in cached memory the implementation should invalidate the contents of the packet.
#define Pktlib_osalEndPktAccess   Osal_pktLibEndPktAccess
 The macro is used by the Packet Library to indicate that packet access has been accessed & updated . If the packet is in cached memory the implementation should writeback the contents of the packet.
#define Pktlib_osalPhyToVirt(x)   x
 The macro is used by the PKTLIB LLD to get the Virtual address for a given Physical address.

Define Documentation

#define Pktlib_osalBeginMemAccess   Osal_pktLibBeginMemAccess

The macro is used by the Packet Library to indicate that the shared memory heaps are about to be accessed. If the memory block is cached then the implementation should invalidate the cache contents to ensure that the Packet Library reads the actual memory and not the cache.

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

       void  Osal_pktLibBeginMemAccess(void* ptr, uint32_t size)
    

Parameter
ptr - Pointer to the memory
size - Size of the memory being accessed.

Return Value
None

#define Pktlib_osalBeginPktAccess   Osal_pktLibBeginPktAccess

The macro is used by the Packet Library to indicate that packet is about to be accessed. If the packet is in cached memory the implementation should invalidate the contents of the packet.

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

       void  Osal_pktLibBeginPktAccess(Pktlib_HeapHandle heapHandle, Ti_Pkt* ptrPkt, uint32_t size)
    

Parameter
heapHandle - Heap to which the packet belongs.
ptrPkt - Pointer to the packet being accessed.
size - Size of the packet.

Return Value
None

#define Pktlib_osalEndMemAccess   Osal_pktLibEndMemAccess

The macro is used by the Packet Library to indicate that the shared memory heaps have been accessed and updated. If the memory block is cached then the implementation should writeback the cache contents to ensure that the cache and the memory are in sync with each other.

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

       void  Osal_pktLibEndMemAccess(void* ptr, uint32_t size)
    

Parameter
ptr - Pointer to the memory
size - Size of the memory

Return Value
None

#define Pktlib_osalEndPktAccess   Osal_pktLibEndPktAccess

The macro is used by the Packet Library to indicate that packet access has been accessed & updated . If the packet is in cached memory the implementation should writeback the contents of the packet.

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

       void  Osal_pktLibEndPktAccess(Pktlib_HeapHandle heapHandle, Ti_Pkt* ptrPkt, uint32_t size)
    

Parameter
heapHandle - Heap to which the packet belongs.
ptrPkt - Pointer to the packet being accessed.
size - Size of the packet.

Return Value
None

#define Pktlib_osalEnterCriticalSection   Osal_pktLibEnterCriticalSection

This API will be called by the packet library to start the critical section before any resource is modified. Depending upon the heap usage (Multicore vs. Multithread); the critical section implementation will change.

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

       void* Osal_pktLibEnterCriticalSection(Pktlib_HeapHandle heapHandle)
    

Parameter
heapHandle - Heap which is being accessed

Return Value
Opaque handle to the critical section object

#define Pktlib_osalExitCriticalSection   Osal_pktLibExitCriticalSection

This API will be called by the packet library to end the critical section after the resource is modified. Depending upon the heap usage (Multicore vs. Multithread); the critical section implementation will change.

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

       void  Osal_pktLibExitCriticalSection(Pktlib_HeapHandle heapHandle, void* csHandle)
    

Parameter
heapHandle - Heap which is being accessed
csHandle - Critical Section Object Handle.

Return Value
None

#define Pktlib_osalPhyToVirt (   x)    x

The macro is used by the PKTLIB LLD to get the Virtual address for a given Physical address.

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

       void *Osal_pktLibPhyToVirt (void *ptr) 
    

Parameter
Physical Address of memory block.

Return Value
Virtual address.


Copyright 2014, Texas Instruments Incorporated