Fix start.s to pass reloc_list properly to package2ldr

This commit is contained in:
Michael Scire 2018-03-01 20:39:49 -08:00
parent 0a80a7caf5
commit 2390df4d07

View file

@ -81,10 +81,12 @@ __start_cold:
mov sp, x0 mov sp, x0
mov fp, #0 mov fp, #0
adr x19, g_coldboot_crt0_relocation_list adr x0, g_coldboot_crt0_relocation_list
adr x1, g_coldboot_crt0_main_func_list adr x1, g_coldboot_crt0_main_func_list
mov x0, x19
bl coldboot_init bl coldboot_init
adr x0, g_coldboot_crt0_relocation_list
ldr x1, =__start_reloc_list_addr
str x0, [x1]
ldr x16, =__jump_to_main_cold ldr x16, =__jump_to_main_cold
br x16 br x16
@ -148,6 +150,8 @@ __jump_to_main_cold:
bl get_pk2ldr_stack_address bl get_pk2ldr_stack_address
mov sp, x0 mov sp, x0
ldr x1, =__start_reloc_list_addr
ldr x0, [x1]
bl load_package2 bl load_package2
mov w0, #3 /* use core3 stack temporarily */ mov w0, #3 /* use core3 stack temporarily */
@ -240,3 +244,9 @@ g_warmboot_crt0_main_func_list:
.quad set_memory_registers_enable_mmu .quad set_memory_registers_enable_mmu
.quad flush_dcache_all .quad flush_dcache_all
.quad invalidate_icache_all .quad invalidate_icache_all
.align 3
.section .bss.__start_reloc_list_addr, "w", %nobits
.global __start_reloc_list_addr
__start_reloc_list_addr:
.space 8