]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/iqn2-lld.git/commitdiff
add secure support in regression
authorBenjamin Mouchard <b-mouchard@ti.com>
Mon, 20 Apr 2015 09:38:01 +0000 (11:38 +0200)
committerBenjamin Mouchard <b-mouchard@ti.com>
Mon, 20 Apr 2015 09:38:01 +0000 (11:38 +0200)
test/iqn2aid/src/aidSysBios.c
test/lte/k2l/c66/iqn2SecureLteDfeK2LTestProject.txt [new file with mode: 0644]
test/utils/cslUtils.c
test/utils/cslUtils.h
test/utils/iqn2_bios_secure.cfg [new file with mode: 0644]
test/wcdma/k2l/c66/iqn2SecureWcdmaDfeK2LTestProject.txt [new file with mode: 0644]

index b19fa9b3376c8507abd2d4518abc36d4f24b2053..08b9a2856f234eeb24db069ed8b76dcb2832f446 100644 (file)
@@ -36,6 +36,7 @@
 #include <ti/sysbios/BIOS.h>
 #include <ti/sysbios/knl/Task.h>
 #include <ti/sysbios/knl/Swi.h>
+#include <ti/sysbios/family/c64p/Hwi.h>
 
 #include <stdlib.h>
 #include <string.h>
 #include <ti/drv/qmss/qmss_drv.h>
 #include <ti/drv/dfe/dfe_drv.h>
 
+#if SECDEV ==1
+#include <ti/sk/sk.h>
+#endif
+
 #include <ti/drv/iqn2/test/utils/cslUtils.h>
 #include <ti/drv/iqn2/test/utils/mnavUtils.h>
 #include <ti/drv/iqn2/test/utils/lteUtilsMulti.h>
@@ -177,6 +182,12 @@ TestAidObj testObjTab = {
     NUM_AXCS_LTE80_AID,                                     //number of LTE80 AxC.
 };
 
+#if SECDEV==1
+/* Secure context for SK */
+#pragma DATA_SECTION(scwp,".neardata");
+static int scwp, skErrCode;
+#endif
+
 volatile unsigned int testcheck = 1;    // reports pass fail at the end of the test
 
 
@@ -211,6 +222,15 @@ void incrementSwi();
 void exceptionWcdmaSwi();
 #endif
 
+#if SECDEV==1
+int registerScwpWrap (void)
+{
+       SK_registerSCWP(&scwp, 1);
+       scwp = SK_allocSC(0, 0xffffffff);
+       return 0;
+}
+#endif
+
 // Register/Memory Read/Write Functions
 void reg_write_32(Uint32 addr,uint32_t write_data)
 {
@@ -320,6 +340,9 @@ void main(void)
        eeWcdmaSwi = Swi_create(exceptionWcdmaSwi, &swiParams, NULL);
 #endif
 
+#if SECDEV==1
+       registerScwpWrap();
+#endif
     BIOS_start();
 
 }
@@ -746,6 +769,9 @@ void myIqn2Test()
 #endif
 #ifdef USERM
     UTILS_resetRm();
+#endif
+#if SECDEV==1
+    skErrCode = SK_freeSC(scwp);
 #endif
     System_abort("End of Program!!\n");
 
diff --git a/test/lte/k2l/c66/iqn2SecureLteDfeK2LTestProject.txt b/test/lte/k2l/c66/iqn2SecureLteDfeK2LTestProject.txt
new file mode 100644 (file)
index 0000000..61d5297
--- /dev/null
@@ -0,0 +1,28 @@
+ -ccs.configurations K2L_LBACK K2L_LBACK_lte10 K2L_LBACK_lte15
+ -ccs.setCompilerOptions " -DDEVICE_K2L -DLTE_RATE=20 -DLTE_ONLY -DDFE_BB_LOOPBACK=1 -DDFE_RATE=20 -DUSESYSBIOS -DSECDEV=1 " @configurations K2L_LBACK 
+ -ccs.setCompilerOptions " -DDEVICE_K2L -DLTE_RATE=10 -DLTE_ONLY -DDFE_BB_LOOPBACK=1 -DDFE_RATE=10 -DUSESYSBIOS -DSECDEV=1 " @configurations K2L_LBACK_lte10 
+ -ccs.setCompilerOptions " -DDEVICE_K2L -DLTE_RATE=15 -DLTE_ONLY -DDFE_BB_LOOPBACK=1 -DDFE_RATE=10 -DUSESYSBIOS -DSECDEV=1 " @configurations K2L_LBACK_lte15 
+ -ccs.setCompilerOptions "-I${CG_TOOL_ROOT}/include " 
+ -ccs.setCompilerOptions "-I${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/utils " 
+ -ccs.setCompilerOptions "-I${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/iqn2fl/include "
+ -ccs.setCompilerOptions "-I${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/lte/config "
+ -ccs.setCompilerOptions "-I${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/iqn2aid/src "
+ -ccs.setCompilerOptions "-mv6600 -g --mem_model:data=far " 
+ -ccs.setLinkerOptions "-i${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/utils"
+ -ccs.setLinkerOptions "-i${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/iqn2fl"
+ -ccs.setLinkerOptions "--stack_size=0x20000 --heap_size=0x20000" 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/iqn2aid/src/aidSysBios.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/cslUtils.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/mnavUtils.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/lteUtilsMulti.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/iqn2_osal.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/load_dfe.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/start_dfe.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/open_dfe.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/dfe_syncgen.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/cpp_simple_test.c @configuration K2L_LBACK
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/iqn2fl/dfe_init_lte.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/iqn2_bios_secure.cfg
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/iqn2_bios.cmd 
+ -rtsc.enableRtsc 
\ No newline at end of file
index 02a72c50560338dd8a17d4cf9b64aa14358a8a27..d0041760702871a939534dfaa387fa90111ed987 100644 (file)
@@ -547,25 +547,13 @@ uint8_t eoi = 0;
 void
 UTILS_iqn2IntcSetup()
 {
-       CicRegs[0]= (CSL_CPINTCRegs * ) CSL_CIC_0_REGS; //CSL_CP_INTC_0_REGS;
-//     CicRegs[1]= (CSL_CPINTCRegs * ) CSL_CIC_1_REGS; //CSL_CP_INTC_1_REGS;
-       CicRegs[2]= (CSL_CPINTCRegs * ) CSL_CIC_2_REGS; //CSL_CP_INTC_2_REGS;
-
-       CicRegs[0]->ENABLE_CLR_INDEX_REG = CSL_CPINTC_ENABLE_CLR_INDEX_REG_RESETVAL;
-       CicRegs[1]->ENABLE_CLR_INDEX_REG = CSL_CPINTC_ENABLE_CLR_INDEX_REG_RESETVAL;
-       CicRegs[2]->ENABLE_CLR_INDEX_REG = CSL_CPINTC_ENABLE_CLR_INDEX_REG_RESETVAL;
-
-        //Clear all events
-       IntcRegs->EVTCLR[0]=    0xFFFFFFFF;
-       IntcRegs->EVTCLR[1]=    0xFFFFFFFF;
-       IntcRegs->EVTCLR[2]=    0xFFFFFFFF;
-       IntcRegs->EVTCLR[3]=    0xFFFFFFFF;
 
     /* Routing Iqn2 exception event thru INTC0 */
     hIntc0Handle = CSL_CPINTC_open(0); // handle for INTC0
     CSL_CPINTC_disableAllHostInterrupt(hIntc0Handle);
     CSL_CPINTC_setNestingMode(hIntc0Handle, CPINTC_NO_NESTING);
     CSL_CPINTC_mapSystemIntrToChannel (hIntc0Handle, CSL_CIC0_IQNET_PKTDMA_STARVE , 8); // assuming core0
+    CSL_CPINTC_clearSysInterrupt (hIntc0Handle, CSL_CIC0_IQNET_PKTDMA_STARVE );
     CSL_CPINTC_enableSysInterrupt (hIntc0Handle, CSL_CIC0_IQNET_PKTDMA_STARVE );
 
 #ifndef USESYSBIOS
@@ -732,12 +720,8 @@ void UTILS_setCache()
     // Disable Interrupts
     key = _disable_interrupts();
 
-    //  Cleanup the prefetch buffer.
-    CSL_XMC_invalidatePrefetchBuffer();
-
-    // Change cache sizes
-    CACHE_setL1DSize (CACHE_L1_32KCACHE);
-    CACHE_setL1PSize (CACHE_L1_32KCACHE);
+    ti_sysbios_family_c66_Cache_invPrefetchBuffer();
+    Cache_setMar((xdc_Ptr*)0x0c000000,0x00200000,Cache_Mar_ENABLE);
 
     // Reenable Interrupts.
     _restore_interrupts(key);
@@ -778,11 +762,8 @@ void UTILS_cacheInvalidate(void* ptr, uint32_t size)
     // Disable Interrupts
     key = _disable_interrupts();
 
-    //  Cleanup the prefetch buffer also.
-    CSL_XMC_invalidatePrefetchBuffer();
-
-    // Invalidate the cache.
-    CACHE_invL1d(ptr, size, CACHE_FENCE_WAIT);
+    ti_sysbios_family_c66_Cache_invPrefetchBuffer();
+    Cache_inv((void *)ptr, size, Cache_Type_ALL, 1);
 
     asm (" nop  4");
     asm (" nop  4");
@@ -828,7 +809,7 @@ void UTILS_cacheWriteBack(void* ptr, uint32_t size)
     key = _disable_interrupts();
 
     // Writeback the contents of the cache.
-    CACHE_wbL1d(ptr, size, CACHE_FENCE_WAIT);
+    Cache_wb((void *)ptr, size, Cache_Type_ALL, 1);
 
     asm (" nop  4");
     asm (" nop  4");
@@ -874,7 +855,7 @@ void UTILS_cacheWriteBackInvalidate(void* ptr, uint32_t size)
     key = _disable_interrupts();
 
     // Writeback and Invalidate the contents of the cache.
-    CACHE_wbInvL1d(ptr, size, CACHE_FENCE_WAIT);
+    Cache_wbInv((void *)ptr, size, Cache_Type_ALL, 1);
 
     asm (" nop  4");
     asm (" nop  4");
index ff8dc65d9a91a0372fe4cbf9d420b7b194548c0a..f61ae1b1f72e19e3b6f6fbef48c864290abf32e0 100644 (file)
@@ -46,8 +46,7 @@
 #include <ti/csl/cslr_device.h>
 
 #ifdef _TMS320C6X
-#include <ti/csl/csl_cache.h>
-#include <ti/csl/csl_cacheAux.h>
+#include <ti/sysbios/family/c66/Cache.h>
 #include <ti/csl/csl_xmcAux.h>
 #include <ti/csl/src/intc/csl_intc.h>
 #include <ti/csl/csl_tmr.h>
diff --git a/test/utils/iqn2_bios_secure.cfg b/test/utils/iqn2_bios_secure.cfg
new file mode 100644 (file)
index 0000000..306eed0
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ *  Copyright 2013 by Texas Instruments Incorporated.
+ *
+ *  All rights reserved. Property of Texas Instruments Incorporated.
+ *  Restricted rights to use, duplicate or disclose this code are
+ *  granted through contract.
+ *
+ */
+
+/* THIS FILE WAS GENERATED BY ti.sysbios.genx */
+
+/*
+ *  ======== iqn2_test.cfg ======== 
+ *
+ */
+environment['xdc.cfg.check.fatal'] = 'false';
+
+var Program = xdc.useModule('xdc.cfg.Program');
+
+/* define stack and heap sizes */
+Program.stack = 0x20000;
+Program.heap  = 0x20000;
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS'); 
+BIOS.useSK = true; 
+BIOS.libType = BIOS.LibType_Custom;
+
+var Task      = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Swi          = xdc.useModule('ti.sysbios.knl.Swi');
+var Hwi       = xdc.useModule('ti.sysbios.family.c64p.Hwi');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var Memory  = xdc.useModule('xdc.runtime.Memory');
+
+var Cache = xdc.useModule('ti.sysbios.family.c66.Cache');
+/* Modules needed to use EDMA3 LLD */ 
+var ECM = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
+xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
+xdc.useModule('ti.sysbios.hal.Cache');
+
+var EDMA = xdc.loadPackage('ti.sdo.edma3.drv');
+
+var System = xdc.useModule('xdc.runtime.System');
+SysStd  = xdc.useModule('xdc.runtime.SysStd');
+System.SupportProxy = SysStd;
+
+var name = "iqn2test";
+
+/* Load and use the CPPI, QMSS & CSL packages */
+var devType = "k2l"
+var cslSettings = xdc.useModule ('ti.csl.Settings');
+cslSettings.deviceType = devType;
+
+var Cppi = xdc.loadPackage('ti.drv.cppi'); 
+var Qmss = xdc.loadPackage('ti.drv.qmss'); 
+var Iqn2 = xdc.loadPackage('ti.drv.iqn2'); 
+var Dfe = xdc.loadPackage('ti.drv.dfe');  
+/*var DspLib = xdc.loadPackage('ti.dsplib');*/
+print(Program.platform.$name);
+if (Program.platform.$name.match(/evmTCI6630/)) { 
+       var Platform = xdc.loadPackage('ti.platforms.evmTCI6630K2L');
+}      
+/****** IPC - Shared Memory Settings ********/
+/* IPC packages */
+var Ipc                         =   xdc.useModule('ti.sdo.ipc.Ipc');
+var Settings                    =   xdc.module('ti.sdo.ipc.family.Settings');
+var ListMP                      =   xdc.useModule('ti.sdo.ipc.ListMP');
+var GateMP                      =   xdc.useModule('ti.sdo.ipc.GateMP');
+var SharedRegion                =   xdc.useModule('ti.sdo.ipc.SharedRegion');
+var HeapMemMP                   =   xdc.useModule('ti.sdo.ipc.heaps.HeapMemMP');
+var MultiProc                   =   xdc.useModule('ti.sdo.utils.MultiProc');
+
+var memmap = Program.cpu.memoryMap;
+
+/* Configure the shared memory heap for shared memory allocations required by the
+* CPPI and QMSS Libraries */
+//SharedRegion.translate = false;
+
+/* Create a shared memory heap */
+//MultiProc.setConfig(null, ["CORE0", "CORE1"]);
+MultiProc.setConfig(null, ["CORE0", "CORE1", "CORE2", "CORE3"]);
+
+/* Synchronize all processors (this will be done in Ipc_start) */
+Ipc.procSync = Ipc.ProcSync_ALL;
+
+/* To avoid wasting shared memory for Notify and MessageQ transports */
+for (var i = 0; i < MultiProc.numProcessors; i++) {
+    Ipc.setEntryMeta({
+        remoteProcId: i,
+        setupNotify: false,
+        setupMessageQ: false,
+    });
+}
+
+/* Create a shared memory */
+/*SharedRegion.setEntryMeta(0,
+*    { base: 0x0C010000,
+*      len: 0x00100000,
+*      ownerProcId: 0,
+*      isValid: true,
+*      name: "sharemem",
+*    });
+*/
+
+/*
+ *  @(#) ti.sysbios.genx; 2, 0, 0, 0,275; 4-29-2009 15:45:06; /db/vtree/library/trees/avala/avala-k25x/src/
+ */
+
diff --git a/test/wcdma/k2l/c66/iqn2SecureWcdmaDfeK2LTestProject.txt b/test/wcdma/k2l/c66/iqn2SecureWcdmaDfeK2LTestProject.txt
new file mode 100644 (file)
index 0000000..99b326a
--- /dev/null
@@ -0,0 +1,24 @@
+ -ccs.configurations K2L_LBACK K2L_LBACK_UL
+ -ccs.setCompilerOptions " -DDEVICE_K2L -DWCDMA_ONLY -DUSESYSBIOS -DDFE_BB_LOOPBACK=1 -DSECDEV=1 " @configurations K2L_LBACK 
+ -ccs.setCompilerOptions " -DDEVICE_K2L -DWCDMA_UL -DWCDMA_ONLY -DUSESYSBIOS -DDFE_BB_LOOPBACK=1 -DSECDEV=1 " @configurations K2L_LBACK_UL
+ -ccs.setCompilerOptions "-I${CG_TOOL_ROOT}/include " 
+ -ccs.setCompilerOptions "-I${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/utils " 
+ -ccs.setCompilerOptions "-I${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/iqn2fl/include "
+ -ccs.setCompilerOptions "-I${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/wcdma/config "
+ -ccs.setCompilerOptions "-mv6600 -g --mem_model:data=far " 
+ -ccs.setLinkerOptions "-i${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/utils"
+ -ccs.setLinkerOptions "-i${IQN2_INSTALL_PATH}/ti/drv/iqn2/test/iqn2fl"
+ -ccs.setLinkerOptions "--stack_size=0x20000 --heap_size=0x20000" 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/load_dfe.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/start_dfe.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/open_dfe.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/dfe_syncgen.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/cslUtils.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/wcdmaUtils.c
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/iqn2_osal.c 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/iqn2aid/src/aidSysBios.c  
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/iqn2_bios_secure.cfg
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/utils/iqn2_bios.cmd 
+ -ccs.linkFile IQN2_INSTALL_PATH/ti/drv/iqn2/test/iqn2fl/dfe_init_wcdma.c 
+ -rtsc.enableRtsc 
\ No newline at end of file