-
/common/init/board_init.cBoot Loader/U-BOOT 2019. 9. 25. 00:15
CONFIG_SYS_MALLOC_F=y
CONFIG_SYS_MALLOC_F_LEN=0x400 이라고 /configs/odroid-xu4_defconfig에 정의되어있다.
ulong board_init_f_alloc_reserve(ulong top)의
50라인이 실행되면서 top은 0x43E00000-0x00000400 = 0x43DFFC00이다
malloc 영역과 global_data영역을 지정해주는것 같다.
void board_init_f_init_reserve(ulong base)에서
매개변수로 들어온 top어드레스 영역에 '\0'로 초기화 해준다.
__weak void arch_setup_gd(struct global_data *gd_ptr)
top어드레스를 gd변수에 넣어준다.
다시 global_data영역만큼 어드레스를 올려주고
global_data 구조체에 malloc_base 값을 넣어준다.
'Boot Loader > U-BOOT' 카테고리의 다른 글
static const init_fnc_t init_sequence_f[] (0) 2019.09.25 int initcall_run_list(const init_fnc_t init_sequence[]) (0) 2019.09.25 void board_init_f(ulong boot_flags) (0) 2019.09.25 ulong board_init_f_alloc_reserve(ulong top) (0) 2019.09.25 U-BOOT (0) 2019.09.23