#include <hugetlbfs.h>
#endif
-#if defined(SPLIT_RLC_DL_TASK) && defined(RLC_MAC_STA_RSP_RBUF)
-S16 rgBatchProc (Void);
-#endif
-#ifdef RLC_MAC_DAT_REQ_RBUF
-S16 rgDlDatReqBatchProc ARGS((
- Void));
-#endif
-#if defined(SPLIT_RLC_DL_TASK) && defined(RLC_MAC_STA_RSP_RBUF)
-S16 rgBatchProc ARGS((
- Void));
-#endif
-
#ifdef TENB_T2K3K_SPECIFIC_CHANGES
/* general purpose debug zone */
char my_buffer2[4096 * 4] = { 0 };
int my_buffer_idx = 0;
-
#define sigsegv_print(x, ...) my_buffer_idx += sprintf(&my_buffer[my_buffer_idx], x "\n", ##__VA_ARGS__)
struct sigcontext my_uc_mcontext = { 0 };
#include <ucontext.h>
#include <dlfcn.h>
+uint32_t gt[128];
#define SIGSEGV_STACK_GENERIC
#define REGFORMAT "%x\n"
Buffer *mtTskBuffer1;
Buffer *mtTskBuffer2;
-pthread_t tmpRegTidMap[20];
-uint8_t stopBtInfo;
+extern pthread_t tmpRegTidMap[20];
+extern uint8_t stopBtInfo;
S16 SGlobMemInfoShow(void);
#endif /* SS_LOCKLESS_MEMORY */
{ SS_POOL_DYNAMIC, MT_POOL_4_DSIZE },
{ SS_POOL_STATIC, 0 }
}
+ },
+ {
+ SS_DFLT_REGION + 7, SS_MAX_POOLS_PER_REG - 1,
+ {
+ { SS_POOL_DYNAMIC, MT_POOL_0_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_1_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_2_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_3_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_4_DSIZE },
+ { SS_POOL_STATIC, 0 }
+ }
+ }
+
+#ifndef INTEL_WLS_MEM
+ ,
+ {
+ SS_DFLT_REGION + 8, SS_MAX_POOLS_PER_REG - 1,
+ {
+ { SS_POOL_DYNAMIC, MT_POOL_0_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_1_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_2_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_3_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_4_DSIZE },
+ { SS_POOL_STATIC, 0 }
+ }
}
+#endif
#endif /* SS_LOCKLESS_MEMORY */
};
{SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
{SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}
}
+ },
+ {
+ SS_DFLT_REGION + 7, /* region id */
+ MT_MAX_BKTS, /* number of buckets */
+ {
+ /* block size, no. of blocks, Upper threshold, lower threshold */
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}
+ }
}
+#ifndef INTEL_WLS_MEM
+ ,
+ {
+ SS_DFLT_REGION + 8, /* region id */
+ MT_MAX_BKTS, /* number of buckets */
+ {
+ /* block size, no. of blocks, Upper threshold, lower threshold */
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}
+ }
+ }
+#endif
#if ((defined (SPLIT_RLC_DL_TASK)) && (!defined (L2_L3_SPLIT)))
,
{
}
},
{
- SS_DFLT_REGION + 5, /* region id */
+ SS_DFLT_REGION + 6, /* region id */
MT_MAX_BKTS, /* number of buckets */
MT_HEAP_SIZE, /* heap size */
{
{MT_BKT_3_DSIZE, MT_BKT_3_STATIC_NUMBLKS}, /* block size, no. of blocks */
{MT_BKT_4_DSIZE, MT_BKT_4_STATIC_NUMBLKS} /* block size, no. of blocks */
}
+ },
+ {
+ SS_DFLT_REGION + 7, /* region id */
+ MT_MAX_BKTS, /* number of buckets */
+ MT_HEAP_SIZE, /* heap size */
+ {
+ {MT_BKT_0_DSIZE, MT_BKT_0_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_1_DSIZE, MT_BKT_1_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_2_DSIZE, MT_BKT_2_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_3_DSIZE, MT_BKT_3_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_4_DSIZE, MT_BKT_4_STATIC_NUMBLKS} /* block size, no. of blocks */
+ }
}
+
+#ifndef INTEL_WLS_MEM
+ ,
+ {
+ SS_DFLT_REGION + 8, /* region id */
+ MT_MAX_BKTS, /* number of buckets */
+ MT_HEAP_SIZE, /* heap size */
+ {
+ {MT_BKT_0_DSIZE, MT_BKT_0_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_1_DSIZE, MT_BKT_1_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_2_DSIZE, MT_BKT_2_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_3_DSIZE, MT_BKT_3_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_4_DSIZE, MT_BKT_4_STATIC_NUMBLKS} /* block size, no. of blocks */
+ }
+ }
+#endif
#endif /* SS_LOCKLESS_MEMORY */
STATIC_MEM_CFG
}
S16 smWrReadWlsConfigParams (Void);
#endif
+/*WLS Memory Size variables*/
+#ifdef INTEL_L1_V20_03_ONWARDS
+uint64_t nWlsMacMemorySize = 0;
+uint64_t nWlsPhyMemorySize = 0;
+#endif
+
static int SOpenWlsIntf()
{
uint8_t i;
- void *hdl;
+ void *hdl = NULLP;
#define WLS_DEVICE_NAME "wls0"
- char *my_argv[] = {"gnodeb", "-c3", "--proc-type=auto", "--file-prefix", WLS_DEVICE_NAME, "--iova-mode=pa"};
+ char *my_argv[] = {"gnodeb", "-c3", "--proc-type=auto", "--file-prefix", "gnb0", "--iova-mode=pa"};
printf("\nCalling rte_eal_init: ");
for (i = 0; i < RTE_DIM(my_argv); i++)
{
#else
hdl = WLS_Open(WLS_DEVICE_NAME, 1);
#endif
+#else
+
+#ifdef INTEL_L1_V20_03_ONWARDS
+ hdl = WLS_Open(WLS_DEVICE_NAME, WLS_MASTER_CLIENT, &nWlsMacMemorySize, &nWlsPhyMemorySize);
+ if(hdl == NULL)
+ {
+ printf("\nERROR: WLS_Open > DEVICE_NAME mismatch. WLS Device Name should be same as 'wls_dev_name' parameter in 'phycfg_xran.xml' file");
+ }
#else
hdl = WLS_Open(WLS_DEVICE_NAME, WLS_MASTER_CLIENT, WLS_MEM_SIZE);
+#endif /*INTEL_L1_V20_03_ONWARDS*/
+
#endif
osCp.wls.intf = hdl;
mtDynMemSz[i].reqdSz += (mtGlobMemoCfg.bkt[i].blkSize * mtGlobMemoCfg.bkt[i].numBlks);
}
osCp.wls.allocAddr = WLS_Alloc(osCp.wls.intf,
-#ifdef INTEL_L1_V19_10
+#ifdef INTEL_L1_V20_03_ONWARDS
+ nWlsMacMemorySize+nWlsPhyMemorySize);
+#elif INTEL_L1_V19_10
WLS_MEMORY_SIZE);
#else
(reqdMemSz + (4 * 1024 * 1024)));
#endif
/* get a message from the demand queue */
/* RT Processing */
-#ifdef RLC_MAC_DAT_REQ_RBUF
- rgDlDatReqBatchProc();
-#endif
ret = mtTskHdlMsg(sTsk);
if (ret != ROK)
/* exit the for loop here */
break;
}
-#if defined(SPLIT_RLC_DL_TASK) && defined(RLC_MAC_STA_RSP_RBUF)
- rgBatchProc();
-#endif
}
return (NULLP);