mirror of https://github.com/acidanthera/audk.git
ArmPkg: remove SetPrimaryStack and InitializePrimaryStack macros
The SetPrimaryStack and InitializePrimaryStack macros are no longer used now that we removed support for ArmPlatformGlobalVariableLib. So remove the various versions of them. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19004 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
5963858c67
commit
ec613395d1
|
@ -201,37 +201,6 @@ _InitializePrimaryStackEnd:
|
|||
#define LoadConstantToReg(Data, Reg) \
|
||||
ldr Reg, =Data
|
||||
|
||||
#define SetPrimaryStack(StackTop, GlobalSize, Tmp) \
|
||||
and Tmp, GlobalSize, #7 ; \
|
||||
rsbne Tmp, Tmp, #8 ; \
|
||||
add GlobalSize, GlobalSize, Tmp ; \
|
||||
sub sp, StackTop, GlobalSize ; \
|
||||
; \
|
||||
mov Tmp, sp ; \
|
||||
mov GlobalSize, #0x0 ; \
|
||||
_SetPrimaryStackInitGlobals: ; \
|
||||
cmp Tmp, StackTop ; \
|
||||
beq _SetPrimaryStackEnd ; \
|
||||
str GlobalSize, [Tmp], #4 ; \
|
||||
b _SetPrimaryStackInitGlobals ; \
|
||||
_SetPrimaryStackEnd:
|
||||
|
||||
// Initialize the Global Variable with '0'
|
||||
#define InitializePrimaryStack(GlobalSize, Tmp1) \
|
||||
and Tmp1, GlobalSize, #7 ; \
|
||||
rsbne Tmp1, Tmp1, #8 ; \
|
||||
add GlobalSize, GlobalSize, Tmp1 ; \
|
||||
; \
|
||||
mov Tmp1, sp ; \
|
||||
sub sp, GlobalSize ; \
|
||||
mov GlobalSize, #0x0 ; \
|
||||
_InitializePrimaryStackLoop: ; \
|
||||
cmp Tmp1, sp ; \
|
||||
bls _InitializePrimaryStackEnd ; \
|
||||
str GlobalSize, [Tmp1, #-4]! ; \
|
||||
b _InitializePrimaryStackLoop ; \
|
||||
_InitializePrimaryStackEnd:
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
|
@ -293,11 +262,6 @@ _InitializePrimaryStackEnd:
|
|||
// conditional load testing eq flag
|
||||
#define LoadConstantToRegIfEq(Data, Reg) LoadConstantToRegIfEqMacro Data, Reg
|
||||
|
||||
#define SetPrimaryStack(StackTop,GlobalSize,Tmp) SetPrimaryStack StackTop, GlobalSize, Tmp
|
||||
|
||||
// Initialize the Global Variable with '0'
|
||||
#define InitializePrimaryStack(GlobalSize, Tmp1) InitializePrimaryStack GlobalSize, Tmp1
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -80,42 +80,4 @@
|
|||
ldr $Reg, =($Data)
|
||||
MEND
|
||||
|
||||
; The reserved place must be 8-bytes aligned for pushing 64-bit variable on the stack
|
||||
; Note: Global Size will be modified
|
||||
MACRO
|
||||
SetPrimaryStack $StackTop, $GlobalSize, $Tmp
|
||||
and $Tmp, $GlobalSize, #7
|
||||
rsbne $Tmp, $Tmp, #8
|
||||
add $GlobalSize, $GlobalSize, $Tmp
|
||||
sub sp, $StackTop, $GlobalSize
|
||||
|
||||
; Set all the global variables to 0
|
||||
mov $Tmp, sp
|
||||
mov $GlobalSize, #0x0
|
||||
_SetPrimaryStackInitGlobals
|
||||
cmp $Tmp, $StackTop
|
||||
beq _SetPrimaryStackEnd
|
||||
str $GlobalSize, [$Tmp], #4
|
||||
b _SetPrimaryStackInitGlobals
|
||||
_SetPrimaryStackEnd
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
InitializePrimaryStack $GlobalSize, $Tmp1
|
||||
and $Tmp1, $GlobalSize, #7
|
||||
rsbne $Tmp1, $Tmp1, #8
|
||||
add $GlobalSize, $GlobalSize, $Tmp1
|
||||
|
||||
mov $Tmp1, sp
|
||||
sub sp, $GlobalSize
|
||||
; Set all the global variables to 0
|
||||
mov $GlobalSize, #0x0
|
||||
_InitializePrimaryStackLoop
|
||||
cmp $Tmp1, sp
|
||||
bls _InitializePrimaryStackEnd
|
||||
str $GlobalSize, [$Tmp1, #-4]!
|
||||
b _InitializePrimaryStackLoop
|
||||
_InitializePrimaryStackEnd
|
||||
MEND
|
||||
|
||||
END
|
||||
|
|
|
@ -18,41 +18,6 @@
|
|||
#ifndef __MACRO_IO_LIBV8_H__
|
||||
#define __MACRO_IO_LIBV8_H__
|
||||
|
||||
#define SetPrimaryStack(StackTop, GlobalSize, Tmp, Tmp1) \
|
||||
ands Tmp, GlobalSize, #15 ; \
|
||||
mov Tmp1, #16 ; \
|
||||
sub Tmp1, Tmp1, Tmp ; \
|
||||
csel Tmp, Tmp1, Tmp, ne ; \
|
||||
add GlobalSize, GlobalSize, Tmp ; \
|
||||
sub sp, StackTop, GlobalSize ; \
|
||||
; \
|
||||
mov Tmp, sp ; \
|
||||
mov GlobalSize, #0x0 ; \
|
||||
_SetPrimaryStackInitGlobals: ; \
|
||||
cmp Tmp, StackTop ; \
|
||||
b.eq _SetPrimaryStackEnd ; \
|
||||
str GlobalSize, [Tmp], #8 ; \
|
||||
b _SetPrimaryStackInitGlobals ; \
|
||||
_SetPrimaryStackEnd:
|
||||
|
||||
// Initialize the Global Variable with '0'
|
||||
#define InitializePrimaryStack(GlobalSize, Tmp1, Tmp2) \
|
||||
and Tmp1, GlobalSize, #15 ; \
|
||||
mov Tmp2, #16 ; \
|
||||
sub Tmp2, Tmp2, Tmp1 ; \
|
||||
add GlobalSize, GlobalSize, Tmp2 ; \
|
||||
; \
|
||||
mov Tmp1, sp ; \
|
||||
sub sp, sp, GlobalSize ; \
|
||||
mov GlobalSize, #0x0 ; \
|
||||
_InitializePrimaryStackLoop: ; \
|
||||
mov Tmp2, sp ; \
|
||||
cmp Tmp1, Tmp2 ; \
|
||||
bls _InitializePrimaryStackEnd ; \
|
||||
str GlobalSize, [Tmp1, #-8]! ; \
|
||||
b _InitializePrimaryStackLoop ; \
|
||||
_InitializePrimaryStackEnd:
|
||||
|
||||
// CurrentEL : 0xC = EL3; 8 = EL2; 4 = EL1
|
||||
// This only selects between EL1 and EL2, else we die.
|
||||
// Provide the Macro with a safe temp xreg to use.
|
||||
|
|
Loading…
Reference in New Issue