#define LoadConstantToReg(Data, Reg) \\r
ldr Reg, =Data\r
\r
+#define GetCorePositionInStack(Pos, MpId, Tmp) \\r
+ lsr Pos, MpId, #6 ; \\r
+ and Tmp, MpId, #3 ; \\r
+ add Pos, Pos, Tmp\r
+\r
+#define SetPrimaryStack(StackTop, GlobalSize, Tmp) \\r
+ and Tmp, GlobalSize, #7 ; \\r
+ rsbne Tmp, Tmp, #8 ; \\r
+ add GlobalSize, GlobalSize, Tmp ; \\r
+ sub sp, StackTop, GlobalSize\r
+\r
#else\r
\r
//\r
// conditional load testing eq flag\r
#define LoadConstantToRegIfEq(Data, Reg) LoadConstantToRegIfEqMacro Data, Reg\r
\r
+#define GetCorePositionInStack(Pos, MpId, Tmp) GetCorePositionInStack Pos, MpId, Tmp\r
\r
-#endif\r
+#define SetPrimaryStack(StackTop,GlobalSize,Tmp) SetPrimaryStack StackTop, GlobalSize, Tmp\r
\r
+#endif\r
\r
#endif\r