This is the initial commit.
[keystone-rtos/netapi.git] / ti / runtime / netapi / src / netapi_vm.h
1 /************************************************
2  * FILE: netapi_vm.h
3  * PURPOSE: netapi [virtual] memory management
4  ************************************************/
5 #ifndef __NETAPI_VM_H__
6 #define __NETAPI_VM_H__
7 #include "netapi_tune.h"
8 #include "ti/drv/nwal/nwal.h"
10 /* Function to initialize memory allocator */
11 nwal_Bool_t netapi_VM_memAllocInit
12 (
13     uint8_t     *addr, /* Physical address */
14     uint32_t    size   /* Size of block */
15 );
17 /* Function to allocate memory */
18 void* netapi_VM_memAlloc
19 (
20     uint32_t    size, /* Size of block needed */
21     uint32_t    align /* Alignment of the block needed */
22 );
25 /* Function to map the give physical address to virtual memory space */
26 void *netapi_VM_memMap
27 (
28     void        *addr, /* Physical address */
29     uint32_t    size   /* Size of block */
30 );
32 //todo: put in netapi global region somewhere
34 /* Global variables to hold virtual address of various hw subsystems */
35 extern void *netapi_VM_qmssCfgVaddr;
36 extern void *netapi_VM_qmssDataVaddr;
37 extern void *netapi_VM_srioCfgVaddr;
38 extern void *netapi_VM_passCfgVaddr;
40 /* Physical address of the [only] memory pool */
41 extern uint8_t *netapi_VM_mem_start_phy;
43 /* virtual address of the [only] memory pool */
44 extern uint8_t *netapi_VM_mem_start;
46 //qm regions: netapi defines two regions, 0,1
47 extern unsigned char *netapi_VM_QMemLocalDescRam;
48 extern unsigned char *netapi_VM_QMemGlobalDescRam;
49 #define NETAPI_GLOBAL_REGION 0 
50 #define NETAPI_LOCAL_REGION 1 
52 #endif