refactor: 对LiteOS_a内核中menuconfig开关的宏使用#ifdef/#ifndef做预编译处理
LiteOS_a中有部分配置宏进行了重复冗余定义,导致当头文件未被包含时,极易引入错误, 故对menuconfig配置宏进行统一处理,均使用#ifdef/#ifndef作为预编译判断方式 Close #I3YEGS Change-Id: Ife6db770cc66de1d6199a4f3ba3950e9bfd0e71a Signed-off-by: boxi <lewis.liulei@huawei.com>
This commit is contained in:
parent
5db839acef
commit
4e4f2d6d7e
|
@ -145,7 +145,7 @@ STATIC INLINE VOID ArchCurrUserTaskSet(UINTPTR val)
|
|||
|
||||
STATIC INLINE UINT32 ArchCurrCpuid(VOID)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
return ARM_SYSREG_READ(MPIDR) & MPIDR_CPUID_MASK;
|
||||
#else
|
||||
return 0;
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
__attribute__((aligned(MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS))) \
|
||||
__attribute__((section(".bss.prebss.translation_table"))) UINT8 \
|
||||
g_firstPageTable[MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS];
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
__attribute__((aligned(MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS))) \
|
||||
__attribute__((section(".bss.prebss.translation_table"))) UINT8 \
|
||||
g_tempPageTable[MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS];
|
||||
|
@ -218,7 +218,7 @@ STATIC UINT32 OsCvtSecCacheFlagsToMMUFlags(UINT32 flags)
|
|||
switch (flags & VM_MAP_REGION_FLAG_CACHE_MASK) {
|
||||
case VM_MAP_REGION_FLAG_CACHED:
|
||||
mmuFlags |= MMU_DESCRIPTOR_L1_TYPE_NORMAL_WRITE_BACK_ALLOCATE;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
mmuFlags |= MMU_DESCRIPTOR_L1_SECTION_SHAREABLE;
|
||||
#endif
|
||||
break;
|
||||
|
@ -544,7 +544,7 @@ STATIC UINT32 OsCvtPte2CacheFlagsToMMUFlags(UINT32 flags)
|
|||
|
||||
switch (flags & VM_MAP_REGION_FLAG_CACHE_MASK) {
|
||||
case VM_MAP_REGION_FLAG_CACHED:
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
mmuFlags |= MMU_DESCRIPTOR_L2_SHAREABLE;
|
||||
#endif
|
||||
mmuFlags |= MMU_DESCRIPTOR_L2_TYPE_NORMAL_WRITE_BACK_ALLOCATE;
|
||||
|
|
|
@ -75,7 +75,7 @@ VOID OsExcHook(UINT32 excType, ExcContext *excBufAddr, UINT32 far, UINT32 fsr);
|
|||
UINT32 g_curNestCount[LOSCFG_KERNEL_CORE_NUM] = { 0 };
|
||||
BOOL g_excFromUserMode[LOSCFG_KERNEL_CORE_NUM];
|
||||
STATIC EXC_PROC_FUNC g_excHook = (EXC_PROC_FUNC)OsExcHook;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
STATIC SPIN_LOCK_INIT(g_excSerializerSpin);
|
||||
STATIC UINT32 g_currHandleExcPID = OS_INVALID_VALUE;
|
||||
STATIC UINT32 g_nextExcWaitCpu = INVALID_CPUID;
|
||||
|
@ -531,7 +531,7 @@ STATIC VOID OsExcRestore(VOID)
|
|||
g_excFromUserMode[currCpuID] = FALSE;
|
||||
g_intCount[currCpuID] = 0;
|
||||
g_curNestCount[currCpuID] = 0;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
OsPercpuGet()->excFlag = CPU_RUNNING;
|
||||
#endif
|
||||
OsPercpuGet()->taskLockCnt = 0;
|
||||
|
@ -548,7 +548,7 @@ STATIC VOID OsUserExcHandle(ExcContext *excBufAddr)
|
|||
return;
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
LOS_SpinLock(&g_excSerializerSpin);
|
||||
if (g_nextExcWaitCpu != INVALID_CPUID) {
|
||||
g_currHandleExcCpuID = g_nextExcWaitCpu;
|
||||
|
@ -563,7 +563,7 @@ STATIC VOID OsUserExcHandle(ExcContext *excBufAddr)
|
|||
#endif
|
||||
runProcess->processStatus &= ~OS_PROCESS_FLAG_EXIT;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#ifdef LOSCFG_FS_VFS
|
||||
OsWakeConsoleSendTask();
|
||||
#endif
|
||||
|
@ -909,7 +909,7 @@ VOID OsDataAbortExcHandleEntry(ExcContext *excBufAddr)
|
|||
#endif /* __LINUX_ARM_ARCH__ */
|
||||
#endif /* LOSCFG_GDB */
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#define EXC_WAIT_INTER 50U
|
||||
#define EXC_WAIT_TIME 2000U
|
||||
|
||||
|
@ -1027,7 +1027,7 @@ STATIC VOID OsCheckAllCpuStatus(VOID)
|
|||
|
||||
STATIC VOID OsCheckCpuStatus(VOID)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
OsCheckAllCpuStatus();
|
||||
#else
|
||||
g_currHandleExcCpuID = ArchCurrCpuid();
|
||||
|
@ -1048,7 +1048,7 @@ LITE_OS_SEC_TEXT VOID STATIC OsExcPriorDisposal(ExcContext *excBufAddr)
|
|||
|
||||
OsCheckCpuStatus();
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#ifdef LOSCFG_FS_VFS
|
||||
/* Wait for the end of the Console task to avoid multicore printing code */
|
||||
OsWaitConsoleSendTaskPend(OsCurrTaskGet()->taskID);
|
||||
|
@ -1113,7 +1113,7 @@ LITE_OS_SEC_TEXT_INIT VOID OsExcHandleEntry(UINT32 excType, ExcContext *excBufAd
|
|||
|
||||
OsPrintExcHead(far);
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
OsAllCpuStatusOutput();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ STATIC_ASSERT(OS_USER_HWI_MAX <= 1020, "hwi max is too large!");
|
|||
|
||||
STATIC UINT32 g_curIrqNum = 0;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/*
|
||||
* filter description
|
||||
* 0b00: forward to the cpu interfaces specified in cpu_mask
|
||||
|
@ -144,7 +144,7 @@ VOID HalIrqInit(VOID)
|
|||
/* enable gic distributor control */
|
||||
GIC_REG_32(GICD_CTLR) = 1;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* register inter-processor interrupt */
|
||||
(VOID)LOS_HwiCreate(LOS_MP_IPI_WAKEUP, 0xa0, 0, OsMpWakeHandler, 0);
|
||||
(VOID)LOS_HwiCreate(LOS_MP_IPI_SCHEDULE, 0xa0, 0, OsMpScheduleHandler, 0);
|
||||
|
|
|
@ -48,7 +48,7 @@ STATIC INLINE UINT64 MpidrToAffinity(UINT64 mpidr)
|
|||
(MPIDR_AFF_LEVEL(mpidr, 0)));
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
STATIC UINT32 NextCpu(UINT32 cpu, UINT32 cpuMask)
|
||||
{
|
||||
|
@ -399,7 +399,7 @@ VOID HalIrqInit(VOID)
|
|||
|
||||
HalIrqInitPercpu();
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* register inter-processor interrupt */
|
||||
LOS_HwiCreate(LOS_MP_IPI_WAKEUP, 0xa0, 0, OsMpWakeHandler, 0);
|
||||
LOS_HwiCreate(LOS_MP_IPI_SCHEDULE, 0xa0, 0, OsMpScheduleHandler, 0);
|
||||
|
|
|
@ -49,7 +49,7 @@ extern VOID HalIrqClear(UINT32 vector);
|
|||
extern CHAR *HalIrqVersion(VOID);
|
||||
extern UINT32 HalCurIrqGet(VOID);
|
||||
extern UINT32 HalIrqSetPrio(UINT32 vector, UINT8 priority);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
extern VOID HalIrqSendIpi(UINT32 target, UINT32 ipi);
|
||||
extern VOID HalIrqSetAffinity(UINT32 vector, UINT32 cpuMask);
|
||||
#endif
|
||||
|
|
|
@ -204,7 +204,7 @@ STATIC UINT32 InitPthreadData(pthread_t threadID, pthread_attr_t *userAttr,
|
|||
PRINT_ERR("%s: %d, err: %d\n", __FUNCTION__, __LINE__, err);
|
||||
return LOS_NOK;
|
||||
}
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
if (userAttr->cpuset.__bits[0] > 0) {
|
||||
taskCB->cpuAffiMask = (UINT16)userAttr->cpuset.__bits[0];
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ int pthread_attr_init(pthread_attr_t *attr)
|
|||
attr->stacksize_set = 1;
|
||||
attr->stacksize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
attr->cpuset.__bits[0] = 0;
|
||||
#endif
|
||||
|
||||
|
@ -239,7 +239,7 @@ int pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *stackSize)
|
|||
*/
|
||||
int pthread_attr_setaffinity_np(pthread_attr_t* attr, size_t cpusetsize, const cpu_set_t* cpuset)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
if (attr == NULL) {
|
||||
return EINVAL;
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ int pthread_attr_setaffinity_np(pthread_attr_t* attr, size_t cpusetsize, const c
|
|||
*/
|
||||
int pthread_attr_getaffinity_np(const pthread_attr_t* attr, size_t cpusetsize, cpu_set_t* cpuset)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
if ((attr == NULL) || (cpuset == NULL) || (cpusetsize != sizeof(cpu_set_t))) {
|
||||
return EINVAL;
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ int sched_get_priority_max(int policy)
|
|||
*/
|
||||
int sched_setaffinity(pid_t pid, size_t set_size, const cpu_set_t* set)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 taskID = (UINT32)pid;
|
||||
UINT32 ret;
|
||||
|
||||
|
@ -93,7 +93,7 @@ int sched_setaffinity(pid_t pid, size_t set_size, const cpu_set_t* set)
|
|||
*/
|
||||
int sched_getaffinity(pid_t pid, size_t set_size, cpu_set_t* set)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 taskID = (UINT32)pid;
|
||||
UINT16 cpuAffiMask;
|
||||
|
||||
|
|
|
@ -323,7 +323,7 @@ ssize_t VfsJffs2Write(struct file *filep, const char *buffer, size_t bufLen)
|
|||
c = JFFS2_SB_INFO(node->i_sb);
|
||||
pos = filep->f_pos;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
struct super_block *sb = node->i_sb;
|
||||
UINT16 gcCpuMask = LOS_TaskCpuAffiGet(sb->s_gc_thread);
|
||||
UINT32 curTaskId = LOS_CurTaskIDGet();
|
||||
|
|
|
@ -183,7 +183,7 @@ VOID OsWaitWakeTask(LosTaskCB *taskCB, UINT32 wakePID)
|
|||
{
|
||||
taskCB->waitID = wakePID;
|
||||
OsSchedTaskWake(taskCB);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
LOS_MpSchedule(OS_MP_CPU_ALL);
|
||||
#endif
|
||||
}
|
||||
|
@ -312,7 +312,7 @@ LITE_OS_SEC_TEXT VOID OsProcessResourcesToFree(LosProcessCB *processCB)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
if (OsProcessIsUserMode(processCB)) {
|
||||
LiteIpcPoolDelete(&(processCB->ipcInfo));
|
||||
(VOID)memset_s(&(processCB->ipcInfo), sizeof(ProcIpcInfo), 0, sizeof(ProcIpcInfo));
|
||||
|
@ -685,7 +685,7 @@ STATIC UINT32 OsProcessCreateInit(LosProcessCB *processCB, UINT32 flags, const C
|
|||
goto EXIT;
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
if (OsProcessIsUserMode(processCB)) {
|
||||
ret = LiteIpcPoolInit(&(processCB->ipcInfo));
|
||||
if (ret != LOS_OK) {
|
||||
|
@ -1294,7 +1294,7 @@ LITE_OS_SEC_TEXT UINT32 OsExecRecycleAndInit(LosProcessCB *processCB, const CHAR
|
|||
return ret;
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
ret = LiteIpcPoolInit(&(processCB->ipcInfo));
|
||||
if (ret != LOS_OK) {
|
||||
return LOS_NOK;
|
||||
|
@ -1690,7 +1690,7 @@ STATIC UINT32 OsCopyProcessResources(UINT32 flags, LosProcessCB *child, LosProce
|
|||
return ret;
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
if (OsProcessIsUserMode(child)) {
|
||||
ret = LiteIpcPoolReInit(&child->ipcInfo, (const ProcIpcInfo *)(&run->ipcInfo));
|
||||
if (ret != LOS_OK) {
|
||||
|
|
|
@ -127,7 +127,7 @@ STATIC Percpu *OsFindIdleCpu(UINT16 *ildeCpuID)
|
|||
Percpu *idleCpu = OsPercpuGetByID(0);
|
||||
*ildeCpuID = 0;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT16 cpuID = 1;
|
||||
UINT32 nodeNum = idleCpu->taskSortLink.nodeNum + idleCpu->swtmrSortLink.nodeNum;
|
||||
|
||||
|
@ -174,7 +174,7 @@ VOID OsAdd2SortLink(SortLinkList *node, UINT64 startTime, UINT32 waitTicks, Sort
|
|||
LOS_SpinLockSave(spinLock, &intSave);
|
||||
SET_SORTLIST_VALUE(node, startTime + (UINT64)waitTicks * OS_CYCLE_PER_TICK);
|
||||
OsAddNode2SortLink(sortLinkHeader, node);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
node->cpuid = idleCpu;
|
||||
if (idleCpu != ArchCurrCpuid()) {
|
||||
LOS_MpSchedule(CPUID_TO_AFFI_MASK(idleCpu));
|
||||
|
@ -186,7 +186,7 @@ VOID OsAdd2SortLink(SortLinkList *node, UINT64 startTime, UINT32 waitTicks, Sort
|
|||
VOID OsDeleteSortLink(SortLinkList *node, SortLinkType type)
|
||||
{
|
||||
UINT32 intSave;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
Percpu *cpu = OsPercpuGetByID(node->cpuid);
|
||||
#else
|
||||
Percpu *cpu = OsPercpuGetByID(0);
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include "los_task_pri.h"
|
||||
|
||||
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#if (LOSCFG_BASE_CORE_SWTMR_LIMIT <= 0)
|
||||
#error "swtmr maxnum cannot be zero"
|
||||
#endif /* LOSCFG_BASE_CORE_SWTMR_LIMIT <= 0 */
|
||||
|
@ -84,7 +84,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 OsSwtmrTaskCreate(VOID)
|
|||
swtmrTask.pcName = "Swt_Task";
|
||||
swtmrTask.usTaskPrio = 0;
|
||||
swtmrTask.uwResved = LOS_TASK_STATUS_DETACHED;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
swtmrTask.usCpuAffiMask = CPUID_TO_AFFI_MASK(cpuid);
|
||||
#endif
|
||||
ret = LOS_TaskCreate(&swtmrTaskID, &swtmrTask);
|
||||
|
@ -533,4 +533,4 @@ LITE_OS_SEC_TEXT UINT32 LOS_SwtmrDelete(UINT16 swtmrID)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#endif /* LOSCFG_BASE_CORE_SWTMR */
|
||||
#endif /* LOSCFG_BASE_CORE_SWTMR_ENABLE */
|
||||
|
|
|
@ -51,10 +51,10 @@
|
|||
#ifdef LOSCFG_KERNEL_CPUP
|
||||
#include "los_cpup_pri.h"
|
||||
#endif
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#include "los_swtmr_pri.h"
|
||||
#endif
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
#include "hm_liteipc.h"
|
||||
#endif
|
||||
#ifdef LOSCFG_ENABLE_OOM_LOOP_TASK
|
||||
|
@ -98,7 +98,7 @@ VOID OsSetMainTask()
|
|||
g_mainTask[i].taskStatus = OS_TASK_STATUS_UNUSED;
|
||||
g_mainTask[i].taskID = LOSCFG_BASE_CORE_TSK_LIMIT;
|
||||
g_mainTask[i].priority = OS_TASK_PRIORITY_LOWEST;
|
||||
#if (LOSCFG_KERNEL_SMP_LOCKDEP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_LOCKDEP
|
||||
g_mainTask[i].lockDep.lockDepth = 0;
|
||||
g_mainTask[i].lockDep.waitLock = NULL;
|
||||
#endif
|
||||
|
@ -208,7 +208,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 OsTaskInit(VOID)
|
|||
LOS_ListTailInsert(&g_losFreeTask, &g_taskCBArray[index].pendList);
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
LOS_TraceReg(LOS_TRACE_TASK, OsTaskTrace, LOS_TRACE_TASK_NAME, LOS_TRACE_ENABLE);
|
||||
#endif
|
||||
|
||||
|
@ -240,7 +240,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 OsIdleTaskCreate(VOID)
|
|||
taskInitParam.pcName = "Idle";
|
||||
taskInitParam.usTaskPrio = OS_TASK_PRIORITY_LOWEST;
|
||||
taskInitParam.processID = OsGetIdleProcessID();
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
taskInitParam.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
ret = LOS_TaskCreateOnly(idleTaskID, &taskInitParam);
|
||||
|
@ -381,7 +381,7 @@ LITE_OS_SEC_TEXT_INIT STATIC VOID OsTaskStackAlloc(VOID **topStack, UINT32 stack
|
|||
|
||||
STATIC INLINE UINT32 OsTaskSyncCreate(LosTaskCB *taskCB)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
UINT32 ret = LOS_SemCreate(0, &taskCB->syncSignal);
|
||||
if (ret != LOS_OK) {
|
||||
return LOS_ERRNO_TSK_MP_SYNC_RESOURCE;
|
||||
|
@ -394,7 +394,7 @@ STATIC INLINE UINT32 OsTaskSyncCreate(LosTaskCB *taskCB)
|
|||
|
||||
STATIC INLINE VOID OsTaskSyncDestroy(UINT32 syncSignal)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
(VOID)LOS_SemDelete(syncSignal);
|
||||
#else
|
||||
(VOID)syncSignal;
|
||||
|
@ -403,7 +403,7 @@ STATIC INLINE VOID OsTaskSyncDestroy(UINT32 syncSignal)
|
|||
|
||||
LITE_OS_SEC_TEXT UINT32 OsTaskSyncWait(const LosTaskCB *taskCB)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
UINT32 ret = LOS_OK;
|
||||
|
||||
LOS_ASSERT(LOS_SpinHeld(&g_taskSpin));
|
||||
|
@ -428,7 +428,7 @@ LITE_OS_SEC_TEXT UINT32 OsTaskSyncWait(const LosTaskCB *taskCB)
|
|||
|
||||
STATIC INLINE VOID OsTaskSyncWake(const LosTaskCB *taskCB)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
(VOID)OsSemPostUnsafe(taskCB->syncSignal, NULL);
|
||||
#else
|
||||
(VOID)taskCB;
|
||||
|
@ -485,7 +485,7 @@ LITE_OS_SEC_TEXT VOID OsTaskResourcesToFree(LosTaskCB *taskCB)
|
|||
processCB->processID, taskCB->taskID, mapBase, mapSize, ret);
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
LiteIpcRemoveServiceHandle(taskCB);
|
||||
#endif
|
||||
}
|
||||
|
@ -494,7 +494,7 @@ LITE_OS_SEC_TEXT VOID OsTaskResourcesToFree(LosTaskCB *taskCB)
|
|||
if (taskCB->taskStatus & OS_TASK_STATUS_UNUSED) {
|
||||
topOfStack = taskCB->topOfStack;
|
||||
taskCB->topOfStack = 0;
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
syncSignal = taskCB->syncSignal;
|
||||
taskCB->syncSignal = LOSCFG_BASE_IPC_SEM_LIMIT;
|
||||
#endif
|
||||
|
@ -523,12 +523,12 @@ LITE_OS_SEC_TEXT_INIT STATIC VOID OsTaskCBInitBase(LosTaskCB *taskCB,
|
|||
taskCB->taskEntry = initParam->pfnTaskEntry;
|
||||
taskCB->signal = SIGNAL_NONE;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
taskCB->currCpu = OS_TASK_INVALID_CPUID;
|
||||
taskCB->cpuAffiMask = (initParam->usCpuAffiMask) ?
|
||||
initParam->usCpuAffiMask : LOSCFG_KERNEL_CPU_MASK;
|
||||
#endif
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
LOS_ListInit(&(taskCB->msgListHead));
|
||||
#endif
|
||||
taskCB->policy = (initParam->policy == LOS_SCHED_FIFO) ? LOS_SCHED_FIFO : LOS_SCHED_RR;
|
||||
|
@ -654,7 +654,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_TaskCreateOnly(UINT32 *taskID, TSK_INIT_PARAM_S
|
|||
LOS_ERREND_TCB_INIT:
|
||||
(VOID)LOS_MemFree(pool, topStack);
|
||||
LOS_ERREND_REWIND_SYNC:
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
OsTaskSyncDestroy(taskCB->syncSignal);
|
||||
#endif
|
||||
LOS_ERREND_REWIND_TCB:
|
||||
|
@ -769,7 +769,7 @@ LITE_OS_SEC_TEXT_INIT STATIC BOOL OsTaskSuspendCheckOnRun(LosTaskCB *taskCB, UIN
|
|||
/* init default out return value */
|
||||
*ret = LOS_OK;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* ASYNCHRONIZED. No need to do task lock checking */
|
||||
if (taskCB->currCpu != ArchCurrCpuid()) {
|
||||
taskCB->signal = SIGNAL_SUSPEND;
|
||||
|
@ -909,7 +909,7 @@ STATIC BOOL OsRunTaskToDeleteCheckOnRun(LosTaskCB *taskCB, UINT32 *ret)
|
|||
/* init default out return value */
|
||||
*ret = LOS_OK;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* ASYNCHRONIZED. No need to do task lock checking */
|
||||
if (taskCB->currCpu != ArchCurrCpuid()) {
|
||||
/*
|
||||
|
@ -994,7 +994,7 @@ LITE_OS_SEC_TEXT UINT32 OsTaskDeleteUnsafe(LosTaskCB *taskCB, UINT32 status, UIN
|
|||
SCHEDULER_LOCK(intSave);
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
LOS_ASSERT(OsPercpuGet()->taskLockCnt == 1);
|
||||
#else
|
||||
LOS_ASSERT(OsPercpuGet()->taskLockCnt == 0);
|
||||
|
@ -1235,7 +1235,7 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_TaskInfoGet(UINT32 taskID, TSK_INFO_S *taskInf
|
|||
|
||||
LITE_OS_SEC_TEXT BOOL OsTaskCpuAffiSetUnsafe(UINT32 taskID, UINT16 newCpuAffiMask, UINT16 *oldCpuAffiMask)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
LosTaskCB *taskCB = OS_TCB_FROM_TID(taskID);
|
||||
|
||||
taskCB->cpuAffiMask = newCpuAffiMask;
|
||||
|
@ -1286,7 +1286,7 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_TaskCpuAffiSet(UINT32 taskID, UINT16 cpuAffiMa
|
|||
|
||||
LITE_OS_SEC_TEXT_MINOR UINT16 LOS_TaskCpuAffiGet(UINT32 taskID)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#define INVALID_CPU_AFFI_MASK 0
|
||||
LosTaskCB *taskCB = NULL;
|
||||
UINT16 cpuAffiMask;
|
||||
|
@ -1346,7 +1346,7 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTaskProcSignal(VOID)
|
|||
|
||||
/* suspend killed task may fail, ignore the result */
|
||||
(VOID)LOS_TaskSuspend(runTask->taskID);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
} else if (runTask->signal & SIGNAL_AFFI) {
|
||||
runTask->signal &= ~SIGNAL_AFFI;
|
||||
|
||||
|
@ -1406,7 +1406,7 @@ STATIC VOID OsExitGroupActiveTaskKilled(LosProcessCB *processCB, LosTaskCB *task
|
|||
INT32 ret;
|
||||
|
||||
taskCB->taskStatus |= OS_TASK_FLAG_EXIT_KILL;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* The other core that the thread is running on and is currently running in a non-system call */
|
||||
if (!taskCB->sig.sigIntLock && (taskCB->taskStatus & OS_TASK_STATUS_RUNNING)) {
|
||||
taskCB->signal = SIGNAL_KILL;
|
||||
|
|
|
@ -57,7 +57,7 @@ LITE_OS_SEC_TEXT VOID OsTickHandler(VOID)
|
|||
OsVdsoTimevalUpdate();
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_BASE_CORE_TICK_HW_TIME == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_TICK_HW_TIME
|
||||
HalClockIrqClear(); /* diff from every platform */
|
||||
#endif
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ extern "C" {
|
|||
#endif /* __cplusplus */
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
typedef enum {
|
||||
CPU_RUNNING = 0, /* cpu is running */
|
||||
CPU_HALT, /* cpu in the halt */
|
||||
|
@ -66,7 +66,7 @@ typedef struct {
|
|||
UINT32 swtmrTaskID; /* software timer task id */
|
||||
|
||||
UINT32 schedFlag; /* pending scheduler flag */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 excFlag; /* cpu halt or exc flag */
|
||||
#endif
|
||||
} Percpu;
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "los_sem_pri.h"
|
||||
#include "los_process.h"
|
||||
#include "los_vm_map.h"
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
#include "hm_liteipc.h"
|
||||
#endif
|
||||
#ifdef LOSCFG_SECURITY_CAPABILITY
|
||||
|
@ -96,12 +96,12 @@ typedef struct ProcessCB {
|
|||
volatile UINT32 threadNumber; /**< Number of threads alive under this process */
|
||||
UINT32 threadCount; /**< Total number of threads created under this process */
|
||||
LOS_DL_LIST waitList; /**< The process holds the waitLits to support wait/waitpid */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 timerCpu; /**< CPU core number of this task is delayed or pended */
|
||||
#endif
|
||||
UINTPTR sigHandler; /**< Signal handler */
|
||||
sigset_t sigShare; /**< Signal share bit */
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
ProcIpcInfo ipcInfo; /**< Memory pool for lite ipc */
|
||||
#endif
|
||||
#ifdef LOSCFG_KERNEL_VM
|
||||
|
|
|
@ -112,7 +112,7 @@ STATIC INLINE BOOL OsPreemptableInSched(VOID)
|
|||
{
|
||||
BOOL preemptable = FALSE;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/*
|
||||
* For smp systems, schedule must hold the task spinlock, and this counter
|
||||
* will increase by 1 in that case.
|
||||
|
|
|
@ -50,7 +50,7 @@ typedef enum {
|
|||
typedef struct {
|
||||
LOS_DL_LIST sortLinkNode;
|
||||
UINT64 responseTime;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 cpuid;
|
||||
#endif
|
||||
} SortLinkList;
|
||||
|
|
|
@ -344,14 +344,14 @@ typedef struct {
|
|||
INT32 errorNo; /**< Error Num */
|
||||
UINT32 signal; /**< Task signal */
|
||||
sig_cb sig;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT16 currCpu; /**< CPU core number of this task is running on */
|
||||
UINT16 lastCpu; /**< CPU core number of this task is running on last time */
|
||||
UINT16 cpuAffiMask; /**< CPU affinity mask, support up to 16 cores */
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
UINT32 syncSignal; /**< Synchronization for signal handling */
|
||||
#endif
|
||||
#if (LOSCFG_KERNEL_SMP_LOCKDEP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_LOCKDEP
|
||||
LockDep lockDep;
|
||||
#endif
|
||||
#endif
|
||||
|
@ -368,7 +368,7 @@ typedef struct {
|
|||
UINTPTR waitID; /**< Wait for the PID or GID of the child process */
|
||||
UINT16 waitFlag; /**< The type of child process that is waiting, belonging to a group or parent,
|
||||
a specific child process, or any child process */
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
UINT32 ipcStatus;
|
||||
LOS_DL_LIST msgListHead;
|
||||
BOOL accessMap[LOSCFG_BASE_CORE_TSK_LIMIT];
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#include "los_mp.h"
|
||||
#include "los_percpu_pri.h"
|
||||
#include "los_sched_pri.h"
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#include "los_exc.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include "los_sched_pri.h"
|
||||
|
||||
|
||||
#if (LOSCFG_BASE_IPC_MUX == YES)
|
||||
#ifdef LOSCFG_BASE_IPC_MUX
|
||||
#define MUTEXATTR_TYPE_MASK 0x0FU
|
||||
|
||||
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrInit(LosMuxAttr *attr)
|
||||
|
@ -560,5 +560,5 @@ LITE_OS_SEC_TEXT UINT32 LOS_MuxUnlock(LosMux *mutex)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#endif /* (LOSCFG_BASE_IPC_MUX == YES) */
|
||||
#endif /* LOSCFG_BASE_IPC_MUX */
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include "los_percpu_pri.h"
|
||||
|
||||
|
||||
#if (LOSCFG_BASE_IPC_QUEUE == YES)
|
||||
#ifdef LOSCFG_BASE_IPC_QUEUE
|
||||
#if (LOSCFG_BASE_IPC_QUEUE_LIMIT <= 0)
|
||||
#error "queue maxnum cannot be zero"
|
||||
#endif /* LOSCFG_BASE_IPC_QUEUE_LIMIT <= 0 */
|
||||
|
@ -493,5 +493,5 @@ QUEUE_END:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#endif /* (LOSCFG_BASE_IPC_QUEUE == YES) */
|
||||
#endif /* LOSCFG_BASE_IPC_QUEUE */
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
#include "los_percpu_pri.h"
|
||||
|
||||
|
||||
#if (LOSCFG_BASE_IPC_SEM == YES)
|
||||
#ifdef LOSCFG_BASE_IPC_SEM
|
||||
|
||||
#if (LOSCFG_BASE_IPC_SEM_LIMIT <= 0)
|
||||
#error "sem maxnum cannot be zero"
|
||||
|
@ -283,5 +283,5 @@ LITE_OS_SEC_TEXT UINT32 LOS_SemPost(UINT32 semHandle)
|
|||
|
||||
return ret;
|
||||
}
|
||||
#endif /* (LOSCFG_BASE_IPC_SEM == YES) */
|
||||
#endif /* LOSCFG_BASE_IPC_SEM */
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ struct OsMemPoolInfo {
|
|||
VOID *pool;
|
||||
UINT32 totalSize;
|
||||
UINT32 attr;
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
UINT32 waterLine; /* Maximum usage size in a memory pool */
|
||||
UINT32 curUsedSize; /* Current usage size in a memory pool */
|
||||
#endif
|
||||
|
@ -230,7 +230,7 @@ STATIC INLINE VOID OsMemNodeSetTaskID(struct OsMemUsedNodeHead *node)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
STATIC INLINE VOID OsMemWaterUsedRecord(struct OsMemPoolHead *pool, UINT32 size)
|
||||
{
|
||||
pool->info.curUsedSize += size;
|
||||
|
@ -775,7 +775,7 @@ STATIC UINT32 OsMemPoolInit(VOID *pool, UINT32 size)
|
|||
endNode->ptr.prev = newNode;
|
||||
OS_MEM_NODE_SET_USED_FLAG(endNode->sizeAndFlag);
|
||||
#endif
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
poolHead->info.curUsedSize = sizeof(struct OsMemPoolHead) + OS_MEM_NODE_HEAD_SIZE;
|
||||
poolHead->info.waterLine = poolHead->info.curUsedSize;
|
||||
#endif
|
||||
|
@ -1171,7 +1171,7 @@ STATIC INLINE UINT32 OsMemFree(struct OsMemPoolHead *pool, struct OsMemNodeHead
|
|||
return ret;
|
||||
}
|
||||
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
pool->info.curUsedSize -= OS_MEM_NODE_GET_SIZE(node->sizeAndFlag);
|
||||
#endif
|
||||
|
||||
|
@ -1256,14 +1256,14 @@ UINT32 LOS_MemFree(VOID *pool, VOID *ptr)
|
|||
|
||||
STATIC INLINE VOID OsMemReAllocSmaller(VOID *pool, UINT32 allocSize, struct OsMemNodeHead *node, UINT32 nodeSize)
|
||||
{
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
struct OsMemPoolHead *poolInfo = (struct OsMemPoolHead *)pool;
|
||||
#endif
|
||||
node->sizeAndFlag = nodeSize;
|
||||
if ((allocSize + OS_MEM_NODE_HEAD_SIZE + OS_MEM_MIN_ALLOC_SIZE) <= nodeSize) {
|
||||
OsMemSplitNode(pool, node, allocSize);
|
||||
OS_MEM_NODE_SET_USED_FLAG(node->sizeAndFlag);
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
poolInfo->info.curUsedSize -= nodeSize - allocSize;
|
||||
#endif
|
||||
}
|
||||
|
@ -1603,7 +1603,7 @@ STATIC VOID OsMemPoolHeadCheck(const struct OsMemPoolHead *pool)
|
|||
OUT:
|
||||
if (flag) {
|
||||
PRINTK("mem pool info: poolAddr: %#x, poolSize: 0x%x\n", pool, pool->info.totalSize);
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
PRINTK("mem pool info: poolWaterLine: 0x%x, poolCurUsedSize: 0x%x\n", pool->info.waterLine,
|
||||
pool->info.curUsedSize);
|
||||
#endif
|
||||
|
@ -1844,7 +1844,7 @@ UINT32 LOS_MemInfoGet(VOID *pool, LOS_MEM_POOL_STATUS *poolStatus)
|
|||
OsMemInfoGet(poolInfo, tmpNode, poolStatus);
|
||||
}
|
||||
#endif
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
poolStatus->usageWaterLine = poolInfo->info.waterLine;
|
||||
#endif
|
||||
MEM_UNLOCK(poolInfo, intSave);
|
||||
|
@ -1861,7 +1861,7 @@ STATIC VOID OsMemInfoPrint(VOID *pool)
|
|||
return;
|
||||
}
|
||||
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
PRINTK("pool addr pool size used size free size "
|
||||
"max free node size used node num free node num UsageWaterLine\n");
|
||||
PRINTK("--------------- -------- ------- -------- "
|
||||
|
|
|
@ -119,9 +119,21 @@ UINT32 OsShellCmdSwtmrCntGet(VOID)
|
|||
LITE_OS_SEC_TEXT_MINOR VOID OsShellCmdSystemInfoGet(VOID)
|
||||
{
|
||||
UINT8 isTaskEnable = YES;
|
||||
UINT8 isSemEnable = LOSCFG_BASE_IPC_SEM;
|
||||
UINT8 isQueueEnable = LOSCFG_BASE_IPC_QUEUE;
|
||||
UINT8 isSwtmrEnable = LOSCFG_BASE_CORE_SWTMR;
|
||||
#ifdef LOSCFG_BASE_IPC_SEM
|
||||
UINT8 isSemEnable = YES;
|
||||
#else
|
||||
UINT8 isSemEnable = NO;
|
||||
#endif
|
||||
#ifdef LOSCFG_BASE_IPC_QUEUE
|
||||
UINT8 isQueueEnable = YES;
|
||||
#else
|
||||
UINT8 isQueueEnable = NO;
|
||||
#endif
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
UINT8 isSwtmrEnable = YES;
|
||||
#else
|
||||
UINT8 isSwtmrEnable = NO;
|
||||
#endif
|
||||
|
||||
PRINTK("\n Module Used Total Enabled\n");
|
||||
PRINTK("--------------------------------------------\n");
|
||||
|
|
|
@ -428,7 +428,7 @@ EXIT:
|
|||
STATIC VOID OsShellCmdTskInfoTitle(VOID *seqBuf, UINT16 flag)
|
||||
{
|
||||
PROCESS_INFO_SHOW(seqBuf, "\r\n TID PID ");
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
PROCESS_INFO_SHOW(seqBuf, "Affi CPU ");
|
||||
#endif
|
||||
PROCESS_INFO_SHOW(seqBuf, " Status StackSize WaterLine ");
|
||||
|
@ -456,7 +456,7 @@ STATIC INLINE VOID OsShellTskInfoData(const LosTaskCB *taskCB, VOID *seqBuf, UIN
|
|||
#endif
|
||||
PROCESS_INFO_SHOW(seqBuf, " %4u%5u", taskCB->taskID, taskCB->processID);
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
PROCESS_INFO_SHOW(seqBuf, "%#5x%4d ", taskCB->cpuAffiMask, (INT16)(taskCB->currCpu));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#include "los_exc.h"
|
||||
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP_LOCKDEP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_LOCKDEP
|
||||
|
||||
#define LOCKDEP_GET_NAME(lockDep, index) (((SPIN_LOCK_S *)((lockDep)->heldLocks[(index)].lockPtr))->name)
|
||||
#define LOCKDEP_GET_ADDR(lockDep, index) ((lockDep)->heldLocks[(index)].lockAddr)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "los_swtmr.h"
|
||||
#include "los_task_pri.h"
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
VOID LOS_MpSchedule(UINT32 target)
|
||||
{
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
*/
|
||||
|
||||
#include "los_spinlock.h"
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#include "los_sched_pri.h"
|
||||
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#include "los_task_pri.h"
|
||||
|
||||
|
||||
#if (LOSCFG_KERNEL_SCHED_STATISTICS == YES)
|
||||
#ifdef LOSCFG_KERNEL_SCHED_STATISTICS
|
||||
#define HIGHTASKPRI 16
|
||||
#define NS_PER_MS 1000000
|
||||
#define DECIMAL_TO_PERCENTAGE 100
|
||||
|
@ -212,7 +212,7 @@ LITE_OS_SEC_TEXT_MINOR VOID OsShellMpStaticStart(VOID)
|
|||
for (loop = 0; loop < g_taskMaxNum; loop++) {
|
||||
taskCB = (((LosTaskCB *)g_taskCBArray) + loop);
|
||||
if (taskCB->taskStatus & OS_TASK_STATUS_RUNNING) {
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
cpuid = taskCB->currCpu;
|
||||
#endif
|
||||
if ((UINT32)(OS_TASK_INVALID_CPUID) == cpuid) {
|
||||
|
@ -293,7 +293,7 @@ LITE_OS_SEC_TEXT_MINOR VOID OsShellMpStaticStop(VOID)
|
|||
for (loop = 0; loop < g_taskMaxNum; loop++) {
|
||||
taskCB = (((LosTaskCB *)g_taskCBArray) + loop);
|
||||
if (taskCB->taskStatus & OS_TASK_STATUS_RUNNING) {
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
cpuid = taskCB->currCpu;
|
||||
#endif
|
||||
if (cpuid == (UINT32)(OS_TASK_INVALID_CPUID)) {
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#endif
|
||||
#include "los_hw_tick_pri.h"
|
||||
#include "los_tick_pri.h"
|
||||
#if (LOSCFG_BASE_CORE_TSK_MONITOR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_TSK_MONITOR
|
||||
#include "los_stackinfo_pri.h"
|
||||
#endif
|
||||
#include "los_mp.h"
|
||||
|
@ -443,7 +443,7 @@ STATIC INLINE VOID OsSchedWakePendTimeTask(UINT64 currTime, LosTaskCB *taskCB, B
|
|||
if (tempStatus & (OS_TASK_STATUS_PENDING | OS_TASK_STATUS_DELAY)) {
|
||||
taskCB->taskStatus &= ~(OS_TASK_STATUS_PENDING | OS_TASK_STATUS_PEND_TIME | OS_TASK_STATUS_DELAY);
|
||||
if (tempStatus & OS_TASK_STATUS_PENDING) {
|
||||
#if (LOSCFG_KERNEL_LITEIPC == YES)
|
||||
#ifdef LOSCFG_KERNEL_LITEIPC
|
||||
taskCB->ipcStatus &= ~IPC_THREAD_STATUS_PEND;
|
||||
#endif
|
||||
taskCB->taskStatus |= OS_TASK_STATUS_TIMEOUT;
|
||||
|
@ -819,7 +819,7 @@ STATIC LosTaskCB *OsGetTopTask(VOID)
|
|||
UINT32 bitmap;
|
||||
LosTaskCB *newTask = NULL;
|
||||
UINT32 processBitmap = g_sched->queueBitmap;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 cpuid = ArchCurrCpuid();
|
||||
#endif
|
||||
|
||||
|
@ -830,11 +830,11 @@ STATIC LosTaskCB *OsGetTopTask(VOID)
|
|||
while (bitmap) {
|
||||
priority = CLZ(bitmap);
|
||||
LOS_DL_LIST_FOR_EACH_ENTRY(newTask, &queueList->priQueueList[priority], LosTaskCB, pendList) {
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
if (newTask->cpuAffiMask & (1U << cpuid)) {
|
||||
#endif
|
||||
goto FIND_TASK;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -869,7 +869,7 @@ VOID OsSchedStart(VOID)
|
|||
OsSchedSetStartTime(HalClockGetCycles());
|
||||
newTask->startTime = OsGerCurrSchedTimeCycle();
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/*
|
||||
* attention: current cpu needs to be set, in case first task deletion
|
||||
* may fail because this flag mismatch with the real current cpu.
|
||||
|
@ -889,7 +889,7 @@ VOID OsSchedStart(VOID)
|
|||
OsTaskContextLoad(newTask);
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
VOID OsSchedToUserReleaseLock(VOID)
|
||||
{
|
||||
/* The scheduling lock needs to be released before returning to user mode */
|
||||
|
@ -900,7 +900,7 @@ VOID OsSchedToUserReleaseLock(VOID)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_BASE_CORE_TSK_MONITOR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_TSK_MONITOR
|
||||
STATIC VOID OsTaskStackCheck(LosTaskCB *runTask, LosTaskCB *newTask)
|
||||
{
|
||||
if (!OS_STACK_MAGIC_CHECK(runTask->topOfStack)) {
|
||||
|
@ -917,9 +917,9 @@ STATIC VOID OsTaskStackCheck(LosTaskCB *runTask, LosTaskCB *newTask)
|
|||
|
||||
STATIC INLINE VOID OsSchedSwitchCheck(LosTaskCB *runTask, LosTaskCB *newTask)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_TSK_MONITOR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_TSK_MONITOR
|
||||
OsTaskStackCheck(runTask, newTask);
|
||||
#endif /* LOSCFG_BASE_CORE_TSK_MONITOR == YES */
|
||||
#endif /* LOSCFG_BASE_CORE_TSK_MONITOR */
|
||||
|
||||
OsTraceTaskSchedule(newTask, runTask);
|
||||
}
|
||||
|
@ -955,7 +955,7 @@ STATIC VOID OsSchedTaskSwicth(LosTaskCB *runTask, LosTaskCB *newTask)
|
|||
runTask->taskStatus &= ~OS_TASK_STATUS_RUNNING;
|
||||
newTask->taskStatus |= OS_TASK_STATUS_RUNNING;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* mask new running task's owner processor */
|
||||
runTask->currCpu = OS_TASK_INVALID_CPUID;
|
||||
newTask->currCpu = ArchCurrCpuid();
|
||||
|
@ -1043,7 +1043,7 @@ VOID OsSchedIrqEndCheckNeedSched(VOID)
|
|||
VOID OsSchedResched(VOID)
|
||||
{
|
||||
LOS_ASSERT(LOS_SpinHeld(&g_taskSpin));
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
LOS_ASSERT(OsPercpuGet()->taskLockCnt == 1);
|
||||
#else
|
||||
LOS_ASSERT(OsPercpuGet()->taskLockCnt == 0);
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#include "los_vm_phys.h"
|
||||
#include "los_vm_filemap.h"
|
||||
#include "los_process_pri.h"
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#include "los_swtmr_pri.h"
|
||||
#endif
|
||||
|
||||
|
@ -55,12 +55,12 @@ LITE_OS_SEC_TEXT_MINOR STATIC UINT32 OomScoreProcess(LosProcessCB *candidateProc
|
|||
{
|
||||
UINT32 actualPm;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP != YES)
|
||||
#ifndef LOSCFG_KERNEL_SMP
|
||||
(VOID)LOS_MuxAcquire(&candidateProcess->vmSpace->regionMux);
|
||||
#endif
|
||||
/* we only consider actual physical memory here. */
|
||||
OsUProcessPmUsage(candidateProcess->vmSpace, NULL, &actualPm);
|
||||
#if (LOSCFG_KERNEL_SMP != YES)
|
||||
#ifndef LOSCFG_KERNEL_SMP
|
||||
(VOID)LOS_MuxRelease(&candidateProcess->vmSpace->regionMux);
|
||||
#endif
|
||||
return actualPm;
|
||||
|
|
|
@ -1662,7 +1662,7 @@ STATIC UINT32 ConsoleSendTask(UINTPTR param)
|
|||
return LOS_OK;
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
VOID OsWaitConsoleSendTaskPend(UINT32 taskID)
|
||||
{
|
||||
UINT32 i;
|
||||
|
|
|
@ -120,7 +120,7 @@ extern INT32 FilepWrite(struct file *filep, const struct file_operations_vfs *fo
|
|||
extern INT32 FilepPoll(struct file *filep, const struct file_operations_vfs *fops, poll_table *fds);
|
||||
extern INT32 FilepIoctl(struct file *filep, const struct file_operations_vfs *fops, INT32 cmd, unsigned long arg);
|
||||
extern INT32 GetFilepOps(const struct file *filep, struct file **privFilep, const struct file_operations_vfs **fops);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
extern VOID OsWaitConsoleSendTaskPend(UINT32 taskID);
|
||||
extern VOID OsWakeConsoleSendTask(VOID);
|
||||
#endif
|
||||
|
|
|
@ -65,7 +65,7 @@ SystemRebootFunc OsGetRebootHook(VOID)
|
|||
|
||||
extern UINT32 OsSystemInit(VOID);
|
||||
extern VOID SystemInit(VOID);
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
extern VOID release_secondary_cores(VOID);
|
||||
#endif
|
||||
|
||||
|
@ -90,7 +90,7 @@ LITE_OS_SEC_TEXT_INIT STATIC UINT32 ArchEarlyInit(VOID)
|
|||
HalClockFreqWrite(OS_SYS_CLOCK);
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_PLATFORM_HWI == 1)
|
||||
#ifdef LOSCFG_PLATFORM_HWI
|
||||
OsHwiInit();
|
||||
#endif
|
||||
|
||||
|
@ -118,7 +118,7 @@ LITE_OS_SEC_TEXT_INIT STATIC UINT32 OsIpcInit(VOID)
|
|||
{
|
||||
UINT32 ret;
|
||||
|
||||
#if (LOSCFG_BASE_IPC_SEM == 1)
|
||||
#ifdef LOSCFG_BASE_IPC_SEM
|
||||
ret = OsSemInit();
|
||||
if (ret != LOS_OK) {
|
||||
PRINT_ERR("OsSemInit error\n");
|
||||
|
@ -126,7 +126,7 @@ LITE_OS_SEC_TEXT_INIT STATIC UINT32 OsIpcInit(VOID)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_BASE_IPC_QUEUE == 1)
|
||||
#ifdef LOSCFG_BASE_IPC_QUEUE
|
||||
ret = OsQueueInit();
|
||||
if (ret != LOS_OK) {
|
||||
PRINT_ERR("OsQueueInit error\n");
|
||||
|
@ -151,7 +151,7 @@ LITE_OS_SEC_TEXT_INIT STATIC UINT32 PlatformInit(VOID)
|
|||
|
||||
LITE_OS_SEC_TEXT_INIT STATIC UINT32 KModInit(VOID)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
OsSwtmrInit();
|
||||
#endif
|
||||
return LOS_OK;
|
||||
|
@ -167,7 +167,7 @@ LITE_OS_SEC_TEXT_INIT VOID OsSystemInfo(VOID)
|
|||
|
||||
PRINT_RELEASE("\n******************Welcome******************\n\n"
|
||||
"Processor : %s"
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
" * %d\n"
|
||||
"Run Mode : SMP\n"
|
||||
#else
|
||||
|
@ -179,7 +179,7 @@ LITE_OS_SEC_TEXT_INIT VOID OsSystemInfo(VOID)
|
|||
"Kernel : %s %d.%d.%d.%d/%s\n"
|
||||
"\n*******************************************\n",
|
||||
LOS_CpuInfo(),
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
LOSCFG_KERNEL_SMP_CORE_NUM,
|
||||
#endif
|
||||
HalIrqVersion(), __DATE__, __TIME__,\
|
||||
|
@ -265,7 +265,7 @@ LITE_OS_SEC_TEXT_INIT INT32 OsMain(VOID)
|
|||
|
||||
OsInitCall(LOS_INIT_LEVEL_KMOD_EXTENDED);
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
release_secondary_cores();
|
||||
#endif
|
||||
|
||||
|
@ -303,7 +303,7 @@ STATIC UINT32 OsSystemInitTaskCreate(VOID)
|
|||
sysTask.pcName = "SystemInit";
|
||||
sysTask.usTaskPrio = LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO;
|
||||
sysTask.uwResved = LOS_TASK_STATUS_DETACHED;
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
sysTask.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
return LOS_TaskCreate(&taskID, &sysTask);
|
||||
|
|
|
@ -116,16 +116,15 @@ extern UINT32 __heap_end;
|
|||
* External configuration item for timer tailoring
|
||||
*/
|
||||
#ifndef LOSCFG_BASE_CORE_TICK_HW_TIME
|
||||
#define LOSCFG_BASE_CORE_TICK_HW_TIME NO
|
||||
#undef LOSCFG_BASE_CORE_TICK_HW_TIME
|
||||
#endif
|
||||
|
||||
/****************************** Hardware interrupt module configuration ******************************/
|
||||
/**
|
||||
* @ingroup los_config
|
||||
* Configuration item for hardware interrupt tailoring
|
||||
*/
|
||||
#ifndef LOSCFG_PLATFORM_HWI
|
||||
#define LOSCFG_PLATFORM_HWI YES
|
||||
#define LOSCFG_PLATFORM_HWI
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -221,15 +220,7 @@ extern UINT32 __heap_end;
|
|||
* Configuration item for task (stack) monitoring module tailoring
|
||||
*/
|
||||
#ifndef LOSCFG_BASE_CORE_TSK_MONITOR
|
||||
#define LOSCFG_BASE_CORE_TSK_MONITOR YES
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @ingroup los_config
|
||||
* Configuration item for task perf task filter hook
|
||||
*/
|
||||
#ifndef OS_PERF_TSK_FILTER
|
||||
#define OS_PERF_TSK_FILTER NO
|
||||
#define LOSCFG_BASE_CORE_TSK_MONITOR
|
||||
#endif
|
||||
|
||||
/****************************** Semaphore module configuration ******************************/
|
||||
|
@ -238,7 +229,7 @@ extern UINT32 __heap_end;
|
|||
* Configuration item for semaphore module tailoring
|
||||
*/
|
||||
#ifndef LOSCFG_BASE_IPC_SEM
|
||||
#define LOSCFG_BASE_IPC_SEM YES
|
||||
#define LOSCFG_BASE_IPC_SEM
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -263,7 +254,7 @@ extern UINT32 __heap_end;
|
|||
* Configuration item for mutex module tailoring
|
||||
*/
|
||||
#ifndef LOSCFG_BASE_IPC_MUX
|
||||
#define LOSCFG_BASE_IPC_MUX YES
|
||||
#define LOSCFG_BASE_IPC_MUX
|
||||
#endif
|
||||
|
||||
/****************************** Queue module configuration ********************************/
|
||||
|
@ -272,7 +263,7 @@ extern UINT32 __heap_end;
|
|||
* Configuration item for queue module tailoring
|
||||
*/
|
||||
#ifndef LOSCFG_BASE_IPC_QUEUE
|
||||
#define LOSCFG_BASE_IPC_QUEUE YES
|
||||
#define LOSCFG_BASE_IPC_QUEUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -283,14 +274,20 @@ extern UINT32 __heap_end;
|
|||
#define LOSCFG_BASE_IPC_QUEUE_LIMIT 1024
|
||||
#endif
|
||||
/****************************** Software timer module configuration **************************/
|
||||
#if (LOSCFG_BASE_IPC_QUEUE == YES)
|
||||
#ifdef LOSCFG_BASE_IPC_QUEUE
|
||||
|
||||
/**
|
||||
* @ingroup los_config
|
||||
* Configuration item for software timer module tailoring
|
||||
*/
|
||||
#ifndef LOSCFG_BASE_CORE_SWTMR
|
||||
#define LOSCFG_BASE_CORE_SWTMR YES
|
||||
#ifndef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#define LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#endif
|
||||
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#define LOSCFG_BASE_CORE_SWTMR 1
|
||||
#else
|
||||
#define LOSCFG_BASE_CORE_SWTMR 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -338,23 +335,7 @@ extern UINT32 __heap_end;
|
|||
#endif
|
||||
|
||||
/****************************** SMP module configuration **************************/
|
||||
#ifndef LOSCFG_KERNEL_SMP
|
||||
#define LOSCFG_KERNEL_SMP NO
|
||||
#endif
|
||||
|
||||
#ifndef LOSCFG_KERNEL_SMP_LOCKDEP
|
||||
#define LOSCFG_KERNEL_SMP_LOCKDEP NO
|
||||
#endif
|
||||
|
||||
#ifndef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
#define LOSCFG_KERNEL_SMP_TASK_SYNC NO
|
||||
#endif
|
||||
|
||||
#ifndef LOSCFG_KERNEL_SCHED_STATISTICS
|
||||
#define LOSCFG_KERNEL_SCHED_STATISTICS NO
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#define LOSCFG_KERNEL_CORE_NUM LOSCFG_KERNEL_SMP_CORE_NUM
|
||||
#else
|
||||
#define LOSCFG_KERNEL_CORE_NUM 1
|
||||
|
@ -391,11 +372,6 @@ extern UINT32 __heap_end;
|
|||
#define VERSION_NUM(a, b, c, d) (((a) << 24) | ((b) << 16) | (c) << 8 | (d))
|
||||
#define KERNEL_OPEN_VERSION_NUM VERSION_NUM(KERNEL_MAJOR, KERNEL_MINOR, KERNEL_PATCH, KERNEL_ITRE)
|
||||
|
||||
/****************************** Dynamic loading module configuration **************************/
|
||||
#ifndef OS_AUTOINIT_DYNLOADER
|
||||
#define OS_AUTOINIT_DYNLOADER YES
|
||||
#endif
|
||||
|
||||
/****************************** Exception information configuration ******************************/
|
||||
#ifdef LOSCFG_SAVE_EXCINFO
|
||||
/**
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
#include "los_sched_pri.h"
|
||||
#include "los_spinlock.h"
|
||||
#include "los_task_pri.h"
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
#include "los_trace.h"
|
||||
#include "los_trace_frame.h"
|
||||
#endif
|
||||
|
@ -100,7 +100,7 @@ STATIC const struct file_operations_vfs g_liteIpcFops = {
|
|||
.mmap = LiteIpcMmap, /* mmap */
|
||||
};
|
||||
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
typedef enum {
|
||||
WRITE,
|
||||
WRITE_DROP,
|
||||
|
@ -160,7 +160,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 OsLiteIpcInit(VOID)
|
|||
for (i = 0; i < LOSCFG_BASE_CORE_PROCESS_LIMIT; i++) {
|
||||
LOS_ListInit(&(g_ipcUsedNodelist[i]));
|
||||
}
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
ret = LOS_TraceReg(LOS_TRACE_IPC, OsIpcTrace, LOS_TRACE_IPC_NAME, LOS_TRACE_ENABLE);
|
||||
if (ret != LOS_OK) {
|
||||
PRINT_ERR("liteipc LOS_TraceReg failed:%d\n", ret);
|
||||
|
@ -939,7 +939,7 @@ LITE_OS_SEC_TEXT STATIC UINT32 CheckPara(IpcContent *content, UINT32 *dstTid)
|
|||
}
|
||||
#if (USE_TIMESTAMP == YES)
|
||||
if (now > msg->timestamp + LITEIPC_TIMEOUT_NS) {
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
IpcTrace(msg, WRITE_DROP, 0, msg->type);
|
||||
#endif
|
||||
PRINT_ERR("A timeout reply, request timestamp:%lld, now:%lld\n", msg->timestamp, now);
|
||||
|
@ -997,7 +997,7 @@ LITE_OS_SEC_TEXT STATIC UINT32 LiteIpcWrite(IpcContent *content)
|
|||
SCHEDULER_LOCK(intSave);
|
||||
LosTaskCB *tcb = OS_TCB_FROM_TID(dstTid);
|
||||
LOS_ListTailInsert(&(tcb->msgListHead), &(buf->listNode));
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
IpcTrace(&buf->msg, WRITE, tcb->ipcStatus, buf->msg.type);
|
||||
#endif
|
||||
if (tcb->ipcStatus & IPC_THREAD_STATUS_PEND) {
|
||||
|
@ -1057,13 +1057,13 @@ LITE_OS_SEC_TEXT STATIC UINT32 CheckRecievedMsg(IpcListNode *node, IpcContent *c
|
|||
ret = -EINVAL;
|
||||
}
|
||||
if (ret != LOS_OK) {
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
IpcTrace(&node->msg, READ_DROP, tcb->ipcStatus, node->msg.type);
|
||||
#endif
|
||||
(VOID)HandleSpecialObjects(LOS_CurTaskIDGet(), node, TRUE);
|
||||
(VOID)LiteIpcNodeFree(LOS_GetCurrProcessID(), (VOID *)node);
|
||||
} else {
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
IpcTrace(&node->msg, READ, tcb->ipcStatus, node->msg.type);
|
||||
#endif
|
||||
}
|
||||
|
@ -1085,14 +1085,14 @@ LITE_OS_SEC_TEXT STATIC UINT32 LiteIpcRead(IpcContent *content)
|
|||
do {
|
||||
SCHEDULER_LOCK(intSave);
|
||||
if (LOS_ListEmpty(listHead)) {
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
IpcTrace(NULL, TRY_READ, tcb->ipcStatus, syncFlag ? MT_REPLY : MT_REQUEST);
|
||||
#endif
|
||||
tcb->ipcStatus |= IPC_THREAD_STATUS_PEND;
|
||||
OsTaskWaitSetPendMask(OS_TASK_WAIT_LITEIPC, OS_INVALID_VALUE, timeout);
|
||||
ret = OsSchedTaskWait(&g_ipcPendlist, timeout, TRUE);
|
||||
if (ret == LOS_ERRNO_TSK_TIMEOUT) {
|
||||
#if (LOSCFG_KERNEL_TRACE == YES)
|
||||
#ifdef LOSCFG_KERNEL_TRACE
|
||||
IpcTrace(NULL, READ_TIMEOUT, tcb->ipcStatus, syncFlag ? MT_REPLY : MT_REQUEST);
|
||||
#endif
|
||||
SCHEDULER_UNLOCK(intSave);
|
||||
|
|
|
@ -77,19 +77,6 @@ extern UINT8 *m_aucSysMem0;
|
|||
*/
|
||||
extern UINT8 *m_aucSysMem1;
|
||||
|
||||
/**
|
||||
* @ingroup los_memory
|
||||
* The memory Maximum memory usage statistics.
|
||||
* @attention
|
||||
* <ul> <li>If running as debug mode, it will affect the performance of memory malloc and free.</li>
|
||||
* <li> OS_MEM_WATERLINE=YES: open the function for Maximum memory usage statistics </li>
|
||||
* <li> OS_MEM_WATERLINE=NO: close the function for Maximum memory usage statistics, it set to NO as usual </li>
|
||||
* </ul>
|
||||
*/
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
#define OS_MEM_WATERLINE YES
|
||||
#endif
|
||||
|
||||
#ifdef LOSCFG_MEM_MUL_POOL
|
||||
/**
|
||||
* @ingroup los_memory
|
||||
|
@ -141,7 +128,7 @@ typedef struct {
|
|||
UINT32 maxFreeNodeSize;
|
||||
UINT32 usedNodeNum;
|
||||
UINT32 freeNodeNum;
|
||||
#if defined(OS_MEM_WATERLINE) && (OS_MEM_WATERLINE == YES)
|
||||
#ifdef LOSCFG_MEM_WATERLINE
|
||||
UINT32 usageWaterLine;
|
||||
#endif
|
||||
} LOS_MEM_POOL_STATUS;
|
||||
|
|
|
@ -50,7 +50,7 @@ typedef enum {
|
|||
LOS_MP_IPI_HALT,
|
||||
} MP_IPI_TYPE;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
extern VOID LOS_MpSchedule(UINT32 target);
|
||||
extern VOID OsMpWakeHandler(VOID);
|
||||
extern VOID OsMpScheduleHandler(VOID);
|
||||
|
|
|
@ -49,14 +49,14 @@ extern INT32 ArchSpinTrylock(size_t *lock);
|
|||
|
||||
typedef struct Spinlock {
|
||||
size_t rawLock;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 cpuid;
|
||||
VOID *owner;
|
||||
const CHAR *name;
|
||||
#endif
|
||||
} SPIN_LOCK_S;
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP_LOCKDEP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP_LOCKDEP
|
||||
#define LOCKDEP_CHECK_IN(lock) OsLockDepCheckIn(lock)
|
||||
#define LOCKDEP_RECORD(lock) OsLockDepRecord(lock)
|
||||
#define LOCKDEP_CHECK_OUT(lock) OsLockDepCheckOut(lock)
|
||||
|
@ -68,7 +68,7 @@ typedef struct Spinlock {
|
|||
#define LOCKDEP_CLEAR_LOCKS()
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#define SPINLOCK_OWNER_INIT NULL
|
||||
|
||||
#define SPIN_LOCK_INITIALIZER(lockName) \
|
||||
|
|
|
@ -498,7 +498,7 @@ typedef struct tagTskInitParam {
|
|||
UINTPTR auwArgs[4]; /**< Task parameters, of which the maximum number is four */
|
||||
UINT32 uwStackSize; /**< Task stack size */
|
||||
CHAR *pcName; /**< Task name */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT16 usCpuAffiMask; /**< Task cpu affinity mask */
|
||||
#endif
|
||||
UINT32 uwResved; /**< It is automatically deleted if set to LOS_TASK_STATUS_DETACHED.
|
||||
|
|
|
@ -40,11 +40,11 @@
|
|||
#include <los_mux.h>
|
||||
#include <los_spinlock.h>
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
SPIN_LOCK_INIT(arch_protect_spin);
|
||||
static u32_t lwprot_thread = LOS_ERRNO_TSK_ID_INVALID;
|
||||
static int lwprot_count = 0;
|
||||
#endif /* LOSCFG_KERNEL_SMP == YES */
|
||||
#endif /* LOSCFG_KERNEL_SMP */
|
||||
|
||||
#define ROUND_UP_DIV(val, div) (((val) + (div) - 1) / (div))
|
||||
|
||||
|
@ -103,7 +103,7 @@ u16_t lwip_standard_chksum(const void *dataptr, int len)
|
|||
|
||||
sys_prot_t sys_arch_protect(void)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* Note that we are using spinlock instead of mutex for LiteOS-SMP here:
|
||||
* 1. spinlock is more effective for short critical region protection.
|
||||
* 2. this function is called only in task context, not in interrupt handler.
|
||||
|
@ -121,14 +121,14 @@ sys_prot_t sys_arch_protect(void)
|
|||
}
|
||||
#else
|
||||
LOS_TaskLock();
|
||||
#endif /* LOSCFG_KERNEL_SMP == YES */
|
||||
#endif /* LOSCFG_KERNEL_SMP */
|
||||
return 0; /* return value is unused */
|
||||
}
|
||||
|
||||
void sys_arch_unprotect(sys_prot_t pval)
|
||||
{
|
||||
LWIP_UNUSED_ARG(pval);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
if (lwprot_thread == LOS_CurTaskIDGet()) {
|
||||
lwprot_count--;
|
||||
if (lwprot_count == 0) {
|
||||
|
@ -138,7 +138,7 @@ void sys_arch_unprotect(sys_prot_t pval)
|
|||
}
|
||||
#else
|
||||
LOS_TaskUnlock();
|
||||
#endif /* LOSCFG_KERNEL_SMP == YES */
|
||||
#endif /* LOSCFG_KERNEL_SMP */
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include "pthread.h"
|
||||
|
||||
#include "los_printf.h"
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#include "los_swtmr_pri.h"
|
||||
#endif
|
||||
#include "los_sched_pri.h"
|
||||
|
@ -265,7 +265,7 @@ STATIC ssize_t TelnetWrite(struct file *file, const CHAR *buf, const size_t bufL
|
|||
}
|
||||
|
||||
if (telnetDev->clientFd != 0) {
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == YES)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
/* DO NOT call blocking API in software timer task */
|
||||
if (((LosTaskCB*)OsCurrTaskGet())->taskEntry == (TSK_ENTRY_FUNC)OsSwtmrTask) {
|
||||
TelnetUnlock();
|
||||
|
|
|
@ -40,13 +40,13 @@
|
|||
#include "los_swtmr_pri.h"
|
||||
#include "los_task_pri.h"
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
STATIC Atomic g_ncpu = 1;
|
||||
#endif
|
||||
|
||||
LITE_OS_SEC_TEXT_INIT VOID secondary_cpu_start(VOID)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
UINT32 cpuid = ArchCurrCpuid();
|
||||
|
||||
OsCurrTaskSet(OsGetMainTask());
|
||||
|
@ -73,7 +73,7 @@ LITE_OS_SEC_TEXT_INIT VOID secondary_cpu_start(VOID)
|
|||
OsCurrProcessSet(OS_PCB_FROM_PID(OsGetKernelInitProcessID()));
|
||||
OsInitCall(LOS_INIT_LEVEL_KMOD_BASIC);
|
||||
|
||||
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
OsSwtmrInit();
|
||||
#endif
|
||||
|
||||
|
@ -89,7 +89,7 @@ LITE_OS_SEC_TEXT_INIT VOID secondary_cpu_start(VOID)
|
|||
#endif
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == 1)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#ifdef LOSCFG_TEE_ENABLE
|
||||
#define TSP_CPU_ON 0xb2000011UL
|
||||
STATIC INT32 raw_smc_send(UINT32 cmd)
|
||||
|
|
|
@ -1037,7 +1037,7 @@ int SysSchedGetAffinity(int id, unsigned int *cpuset, int flag)
|
|||
}
|
||||
}
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
cpuAffiMask = (unsigned int)OS_TCB_FROM_TID(taskID)->cpuAffiMask;
|
||||
#else
|
||||
cpuAffiMask = 1;
|
||||
|
|
|
@ -522,7 +522,7 @@ extern void ICunitSaveErr(iiUINT32 line, iiUINT32 retCode);
|
|||
} while (0)
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
extern SPIN_LOCK_S g_testSuitSpin;
|
||||
#define TESTSUIT_LOCK(state) LOS_SpinLockSave(&g_testSuitSpin, &(state))
|
||||
#define TESTSUIT_UNLOCK(state) LOS_SpinUnlockRestore(&g_testSuitSpin, state)
|
||||
|
|
|
@ -96,7 +96,7 @@ extern "C" {
|
|||
testTask.uwResved = LOS_TASK_STATUS_DETACHED; \
|
||||
} while (0);
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#define TEST_TASK_PARAM_INIT_AFFI(testTask, task_name, entry, prio, affi) \
|
||||
TEST_TASK_PARAM_INIT(testTask, task_name, entry, prio) \
|
||||
testTask.usCpuAffiMask = affi;
|
||||
|
|
|
@ -38,7 +38,7 @@ extern "C" {
|
|||
#endif /* __cpluscplus */
|
||||
VOID ItSuiteSmpHwi(VOID)
|
||||
{
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
ItSmpLosHwi001();
|
||||
ItSmpLosHwi002();
|
||||
ItSmpLosHwi003();
|
||||
|
@ -84,7 +84,7 @@ VOID ItSuiteSmpHwi(VOID)
|
|||
ItSmpLosHwiNest007();
|
||||
ItSmpLosHwiNest008();
|
||||
#endif
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, 1);
|
||||
HalIrqSetAffinity(HWI_NUM_TEST1, 1);
|
||||
HalIrqSetAffinity(HWI_NUM_TEST2, 1);
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_testTimes;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static VOID HwiF01(void)
|
||||
{
|
||||
LOS_AtomicInc(&g_testCount);
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_testTimes;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -37,7 +37,7 @@ extern "C" {
|
|||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_testTimes;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
static VOID HwiF01(void)
|
||||
{
|
||||
|
|
|
@ -37,7 +37,7 @@ extern "C" {
|
|||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
static VOID HwiF01(void)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
static VOID HwiF01(void)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
static UINT32 g_ret = 0;
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
static UINT32 g_ret = 0;
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_szId[LOSCFG_KERNEL_CORE_NUM] = {0};
|
||||
static VOID SwtmrF01(void)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_szId[LOSCFG_KERNEL_CORE_NUM] = {0};
|
||||
static VOID SwtmrF01(void)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_szId[LOSCFG_KERNEL_CORE_NUM] = {0};
|
||||
static VOID SwtmrF01(void)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
|
||||
static VOID SwtmrF01(void)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static UINT32 g_szId[LOSCFG_KERNEL_CORE_NUM] = {0};
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
/* for debugging */
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID SwtmrF01(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
extern EVENT_CB_S g_event;
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static VOID HwiF02(void)
|
||||
|
|
|
@ -53,7 +53,7 @@ VOID ItSuiteLosSwtmr(VOID)
|
|||
ItLosSwtmr053();
|
||||
ItLosSwtmr058();
|
||||
#endif
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
ItSmpLosSwtmr001(); /* Concurrent Multi-core */
|
||||
ItSmpLosSwtmr002(); /* Stop Across Cores */
|
||||
ItSmpLosSwtmr003();
|
||||
|
|
|
@ -87,7 +87,7 @@ static UINT32 Testcase(VOID)
|
|||
|
||||
ret = LOS_HwiCreate(HWI_NUM_TEST, 1, 0, HwiF01, 0);
|
||||
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, CPUID_TO_AFFI_MASK(ArchCurrCpuid()));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ static UINT32 Testcase(VOID)
|
|||
hwiMode = 0;
|
||||
ret = TEST_HwiCreate(HWI_NUM_TEST, hwiPrio, hwiMode, (HWI_PROC_FUNC)SwtmrF01, (HwiIrqParam *)arg);
|
||||
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT3);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, CPUID_TO_AFFI_MASK(ArchCurrCpuid()));
|
||||
#endif
|
||||
TestHwiTrigger(HWI_NUM_TEST);
|
||||
|
|
|
@ -79,7 +79,7 @@ static UINT32 Testcase(VOID)
|
|||
hwiMode = 0;
|
||||
ret = TEST_HwiCreate(HWI_NUM_TEST, hwiPrio, hwiMode, (HWI_PROC_FUNC)HwiF01, (HwiIrqParam *)arg);
|
||||
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT3);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, CPUID_TO_AFFI_MASK(ArchCurrCpuid()));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ static UINT32 Testcase(VOID)
|
|||
|
||||
ret = TEST_HwiCreate(HWI_NUM_TEST, hwiPrio, hwiMode, (HWI_PROC_FUNC)SwtmrF01, (HwiIrqParam *)arg);
|
||||
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT5);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, CPUID_TO_AFFI_MASK(ArchCurrCpuid()));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ static UINT32 Testcase(VOID)
|
|||
|
||||
ret = LOS_HwiCreate(HWI_NUM_TEST, 1, 0, HwiF01, 0);
|
||||
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, CPUID_TO_AFFI_MASK(ArchCurrCpuid()));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ static UINT32 Testcase(VOID)
|
|||
hwiMode = 0;
|
||||
ret = TEST_HwiCreate(HWI_NUM_TEST, hwiPrio, hwiMode, (HWI_PROC_FUNC)HwiF01, (HwiIrqParam *)arg);
|
||||
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT3);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, CPUID_TO_AFFI_MASK(ArchCurrCpuid()));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ static UINT32 Testcase(VOID)
|
|||
hwiMode = 0;
|
||||
ret = TEST_HwiCreate(HWI_NUM_TEST, hwiPrio, hwiMode, (HWI_PROC_FUNC)HwiF01, (HwiIrqParam *)arg);
|
||||
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT3);
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, CPUID_TO_AFFI_MASK(ArchCurrCpuid()));
|
||||
#endif
|
||||
ret = LOS_SwtmrStart(g_swTmrID1);
|
||||
|
|
|
@ -62,7 +62,7 @@ void ItSuiteLosTask(void)
|
|||
ItLosTask105();
|
||||
ItLosTask099();
|
||||
ItLosTaskTimeslice001();
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
// reserved 20 for smoke test
|
||||
ItSmpLosTask001(); /* Task Affinity */
|
||||
ItSmpLosTask002(); /* Task Deletion Across Cores */
|
||||
|
@ -137,7 +137,7 @@ void ItSuiteLosTask(void)
|
|||
ItLosTask072();
|
||||
ItLosTask073();
|
||||
ItLosTask074();
|
||||
#if (LOSCFG_KERNEL_SMP != YES)
|
||||
#ifndef LOSCFG_KERNEL_SMP
|
||||
ItLosTask075();
|
||||
#endif
|
||||
ItLosTask076();
|
||||
|
@ -193,7 +193,7 @@ void ItSuiteLosTask(void)
|
|||
ItLosTaskTimeslice002();
|
||||
ItLosTaskTimeslice003();
|
||||
ItLosTaskTimeslice004();
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
#ifndef LOSCFG_ARCH_FPU_DISABLE
|
||||
|
||||
ItSmpLosFloatSwitch001();
|
||||
|
@ -290,7 +290,7 @@ void ItSuiteLosTask(void)
|
|||
ItSmpLosTask112();
|
||||
ItSmpLosTask114();
|
||||
ItSmpLosTask115();
|
||||
#if (LOSCFG_KERNEL_SMP_TASK_SYNC == NO)
|
||||
#ifndef LOSCFG_KERNEL_SMP_TASK_SYNC
|
||||
ItSmpLosTask117();
|
||||
#endif
|
||||
ItSmpLosTask126();
|
||||
|
@ -325,7 +325,7 @@ void ItSuiteLosTask(void)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
HalIrqSetAffinity(HWI_NUM_TEST, 1);
|
||||
HalIrqSetAffinity(HWI_NUM_TEST1, 1);
|
||||
HalIrqSetAffinity(HWI_NUM_TEST3, 1);
|
||||
|
|
|
@ -51,7 +51,7 @@ extern "C" {
|
|||
#define SWTMR_LOOP_NUM 10
|
||||
#define TEST_HWI_RUNTIME 0x100000
|
||||
#define TASK_LOOP_NUM 0x100000
|
||||
#if (YES == LOSCFG_BASE_CORE_SWTMR)
|
||||
#ifdef LOSCFG_BASE_CORE_SWTMR_ENABLE
|
||||
#define TASK_EXISTED_NUM 4
|
||||
#else
|
||||
#define TASK_EXISTED_NUM 2
|
||||
|
@ -364,4 +364,4 @@ void ItLosTaskTimeslice004(void);
|
|||
#endif /* __cpluscplus */
|
||||
#endif /* __cpluscplus */
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -38,7 +38,7 @@ extern "C" {
|
|||
#endif /* __cpluscplus */
|
||||
|
||||
#ifndef LOSCFG_ARCH_FPU_DISABLE
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
static UINT32 g_targetCpuid;
|
||||
|
||||
static void HwiF01(UINT32 arg)
|
||||
|
|
|
@ -55,7 +55,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwStackSize = TASK_STACK_SIZE_TEST;
|
||||
task1.pcName = "Tsk007A_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
||||
task1.usTaskPrio = TASK_PRIO_TEST_TASK - 1;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
g_testCount = 0;
|
||||
|
|
|
@ -61,7 +61,7 @@ static UINT32 Testcase(void)
|
|||
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
|
||||
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
|
||||
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
/* Wait TaskF01 to start */
|
||||
while (g_testCount == 0) {
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwResved = LOS_TASK_STATUS_DETACHED;
|
||||
// 0xffff, initializes the args. this parameter has no special meaning.
|
||||
task1.auwArgs[0] = 0xffff;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwStackSize = TASK_STACK_SIZE_TEST;
|
||||
task1.pcName = "Tsk017A";
|
||||
task1.usTaskPrio = 1;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
g_testCount = 0;
|
||||
|
|
|
@ -51,7 +51,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwStackSize = TASK_STACK_SIZE_TEST;
|
||||
task1.pcName = "Tsk018A";
|
||||
task1.usTaskPrio = OS_TASK_PRIORITY_LOWEST;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
g_testCount = 0;
|
||||
|
|
|
@ -56,7 +56,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwStackSize = TASK_STACK_SIZE_TEST;
|
||||
task1.pcName = "Tsk025A";
|
||||
task1.usTaskPrio = TASK_PRIO_TEST_TASK - 1;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
g_testCount = 0;
|
||||
|
|
|
@ -67,7 +67,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwStackSize = TASK_STACK_SIZE_TEST;
|
||||
task1.pcName = "Tsk029A";
|
||||
task1.usTaskPrio = TASK_PRIO_TEST_TASK - 1;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
g_testCount = 0;
|
||||
|
|
|
@ -65,7 +65,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwStackSize = TASK_STACK_SIZE_TEST;
|
||||
task1.pcName = "Tsk031A";
|
||||
task1.usTaskPrio = TASK_PRIO_TEST_TASK - 1;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ static UINT32 Testcase(void)
|
|||
task1.uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
|
||||
task1.pcName = "Tsk033A";
|
||||
task1.usTaskPrio = TASK_PRIO_TEST_TASK - 1;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
g_testCount = 0;
|
||||
|
|
|
@ -68,7 +68,7 @@ static UINT32 Testcase(void)
|
|||
task1.usTaskPrio = TASK_PRIO_TEST_TASK - 1;
|
||||
task1.uwResved = LOS_TASK_STATUS_DETACHED;
|
||||
g_testCount = 0;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ static UINT32 Testcase(void)
|
|||
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
|
||||
task1.uwStackSize = TASK_STACK_SIZE_TEST;
|
||||
task1.usTaskPrio = TASK_PRIO_TEST_TASK + 1;
|
||||
#if (LOSCFG_KERNEL_SMP == YES)
|
||||
#ifdef LOSCFG_KERNEL_SMP
|
||||
task1.usCpuAffiMask = CPUID_TO_AFFI_MASK(ArchCurrCpuid());
|
||||
#endif
|
||||
g_testCount = 0;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue