Lines Matching +full:ram +full:- +full:code

1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * crt0 - C-runtime startup Code for ARM U-Boot
9 #include <asm-offsets.h>
14 * This file handles the target-independent stages of the U-Boot
15 * start-up where a C runtime environment is needed. Its entry point
23 * available RAM (SRAM, locked cache...). In this context, VARIABLE
29 * execution from system RAM (DRAM, DDR...) As system RAM may not
36 * ones allocated by board_init_f() in system RAM, but BSS and
37 * initialized non-const data are still not available.
39 * 4a.For U-Boot proper (not SPL), call relocate_code(). This function
40 * relocates U-Boot from its current location into the relocation
44 * code relocation in SPL.
47 * environment has BSS (initialized to 0), initialized non-const
49 * RAM (for SPL moving the stack and GD into RAM is optional - see
52 * 6. For U-Boot proper (not SPL), some CPUs have some work left to do
75 bic r0, r0, #7 /* 8-byte alignment for ABI compliance */
79 /* set up gd here, outside any C code */
94 ldr r0, [r9, #GD_START_ADDR_SP] /* sp = gd->start_addr_sp */
95 bic r0, r0, #7 /* 8-byte alignment for ABI compliance */
99 ldr r9, [r9, #GD_BD] /* r9 = gd->bd */
116 ldr r0, [r9, #GD_ENV_ADDR] /* r0 = gd->env_addr */
120 ldr r0, [r9, #GD_RELOC_OFF] /* r0 = gd->reloc_off */
123 orr lr, #1 /* As required by Thumb-only */
125 ldr r0, [r9, #GD_RELOCADDR] /* r0 = gd->relocaddr */
146 ldr r0, =__bss_start /* this is auto-relocated! */
149 ldr r3, =__bss_end /* this is auto-relocated! */
155 ldr r1, =__bss_end /* this is auto-relocated! */
159 strlo r2, [r0] /* clear 32-bit BSS word */
173 ldr lr, =board_init_r /* this is auto-relocated! */
176 ldr pc, =board_init_r /* this is auto-relocated! */
184 .word _start - _main