mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-24 22:24:37 +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
|
// Set CPU vectors to start of DRAM
|
||||||
mov r0, #0x80000000
|
mov r0, #0x80000000
|
||||||
mcr p15, 0, r0, c12, c0, 0
|
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*/
|
/* before we call C code, lets setup the stack pointer in internal RAM*/
|
||||||
stack_pointer_setup:
|
stack_pointer_setup:
|
||||||
|
|
||||||
|
@ -40,8 +40,19 @@ _ModuleEntryPoint
|
|||||||
mcr p15, 0, r0, c1, c0, 0
|
mcr p15, 0, r0, c1, c0, 0
|
||||||
|
|
||||||
// Set CPU vectors to start of DRAM
|
// Set CPU vectors to start of DRAM
|
||||||
mov r0, #0x80000000
|
LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) /* memory size arg0 */
|
||||||
mcr p15, 0, r0, c12, c0, 0
|
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*/
|
/* before we call C code, lets setup the stack pointer in internal RAM*/
|
||||||
stack_pointer_setup
|
stack_pointer_setup
|
||||||
|
|
||||||
@ -54,13 +65,13 @@ stack_pointer_setup
|
|||||||
add r4, r2, r3
|
add r4, r2, r3
|
||||||
|
|
||||||
//Enter SVC mode and set up SVC stack pointer
|
//Enter SVC mode and set up SVC stack pointer
|
||||||
mov r0,#0x13|0x80|0x40
|
mov r5,#0x13|0x80|0x40
|
||||||
msr CPSR_c,r0
|
msr CPSR_c,r5
|
||||||
mov r13,r4
|
mov r13,r4
|
||||||
|
|
||||||
// Call C entry point
|
// Call C entry point
|
||||||
LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1) /* memory size arg1 */
|
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 */
|
blx CEntryPoint /* Assume C code is thumb */
|
||||||
|
|
||||||
ShouldNeverGetHere
|
ShouldNeverGetHere
|
||||||
|
Loading…
x
Reference in New Issue
Block a user