#endif
/* Multi-core: get current core ID */
-int xPortGetCoreID( void );
-
+#define xPortGetCoreID() __extension__({int id; asm volatile("rsr.prid %0; extui %0,%0,13,1":"=r"(id)); id;})
#ifdef __cplusplus
}
#ifdef __ASSEMBLER__
.macro getcoreid reg
rsr.prid \reg
- bbci \reg,1,1f
- movi \reg,1
- j 2f
-1:
- movi \reg,0
-2:
+ extui \reg,\reg,13,1
.endm
#endif
inline static void panicPutDec(int a) { }
#endif
-int xPortGetCoreID();
void __attribute__((weak)) vApplicationStackOverflowHook( TaskHandle_t xTask, signed char *pcTaskName ) {
panicPutStr("***ERROR*** A stack overflow in task ");
.text
-
-
-/* C function to get proc ID.*/
- .global xPortGetCoreID
- .type xPortGetCoreID,@function
- .align 4
-xPortGetCoreID:
- ENTRY(16)
- getcoreid a2
- RET(16)
-
-
/*
*******************************************************************************
* _frxt_setup_switch