mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
Remove dead file, and update startup code to null out vector table.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10199 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
aebb096e45
commit
4951b2482f
@ -1,67 +0,0 @@
|
||||
//%HEADER%
|
||||
MACRO
|
||||
MmioWrite32Macro $Address, $Data
|
||||
ldr r1, = ($Address)
|
||||
ldr r0, = ($Data)
|
||||
str r0, [r1]
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
MmioOr32Macro $Address, $OrData
|
||||
ldr r1, =($Address)
|
||||
ldr r2, =($OrData)
|
||||
ldr r0, [r1]
|
||||
orr r0, r0, r2
|
||||
str r0, [r1]
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
MmioAnd32Macro $Address, $AndData
|
||||
ldr r1, =($Address)
|
||||
ldr r2, =($AndData)
|
||||
ldr r0, [r1]
|
||||
and r0, r0, r2
|
||||
str r0, [r1]
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
MmioAndThenOr32Macro $Address, $AndData, $OrData
|
||||
ldr r1, =($Address)
|
||||
ldr r0, [r1]
|
||||
ldr r2, =($AndData)
|
||||
and r0, r0, r2
|
||||
ldr r2, =($OrData)
|
||||
orr r0, r0, r2
|
||||
str r0, [r1]
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
MmioWriteFromReg32Macro $Address, $Reg
|
||||
ldr r1, =($Address)
|
||||
str $Reg, [r1]
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
MmioRead32Macro $Address
|
||||
ldr r1, =($Address)
|
||||
ldr r0, [r1]
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
MmioReadToReg32Macro $Address, $Reg
|
||||
ldr r1, =($Address)
|
||||
ldr $Reg, [r1]
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
LoadConstantMacro $Data
|
||||
ldr r0, =($Data)
|
||||
MEND
|
||||
|
||||
MACRO
|
||||
LoadConstantToRegMacro $Data, $Reg
|
||||
ldr $Reg, =($Data)
|
||||
MEND
|
||||
|
||||
END
|
||||
|
@ -39,6 +39,8 @@ ASM_PFX(_ModuleEntryPoint):
|
||||
// Set CPU vectors to start of DRAM
|
||||
mov r0, #0x80000000
|
||||
mcr p15, 0, r0, c12, c0, 0
|
||||
isb // Sync changes to control registers
|
||||
|
||||
/* before we call C code, lets setup the stack pointer in internal RAM*/
|
||||
stack_pointer_setup:
|
||||
|
||||
|
@ -40,8 +40,19 @@ _ModuleEntryPoint
|
||||
mcr p15, 0, r0, c1, c0, 0
|
||||
|
||||
// Set CPU vectors to start of DRAM
|
||||
mov r0, #0x80000000
|
||||
LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) /* memory size arg0 */
|
||||
mcr p15, 0, r0, c12, c0, 0
|
||||
isb // Sync changes to control registers
|
||||
|
||||
// Fill vector table with branchs to current pc (jmp $)
|
||||
ldr r1, ShouldNeverGetHere
|
||||
movs r2, #0
|
||||
FillVectors
|
||||
str r1, [r0, r2]
|
||||
adds r2, r2, #4
|
||||
cmp r2, #32
|
||||
bne FillVectors
|
||||
|
||||
/* before we call C code, lets setup the stack pointer in internal RAM*/
|
||||
stack_pointer_setup
|
||||
|
||||
@ -54,13 +65,13 @@ stack_pointer_setup
|
||||
add r4, r2, r3
|
||||
|
||||
//Enter SVC mode and set up SVC stack pointer
|
||||
mov r0,#0x13|0x80|0x40
|
||||
msr CPSR_c,r0
|
||||
mov r5,#0x13|0x80|0x40
|
||||
msr CPSR_c,r5
|
||||
mov r13,r4
|
||||
|
||||
// Call C entry point
|
||||
LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1) /* memory size arg1 */
|
||||
LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) /* memory size arg0 */
|
||||
// LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) Done above
|
||||
blx CEntryPoint /* Assume C code is thumb */
|
||||
|
||||
ShouldNeverGetHere
|
||||
|
Loading…
x
Reference in New Issue
Block a user