uboot下init_sequence_f函数之reserve_arch
2017-03-20 08:56
561 查看
reserve_arch:
/*Architecture-specificmemoryreservation*/ __weakintreserve_arch(void) { return0; }
arch/x86/cpu/cpu.c
#ifndefCONFIG_EFI_STUB
intreserve_arch(void)
{
#ifdefCONFIG_ENABLE_MRC_CACHE
mrccache_reserve();
#endif
#ifdefCONFIG_SEABIOS
high_table_reserve();
#endif
return0;
}
#endif
arch/x86/lib/efi/efi.c
/*Findanyavailabletablesandcopythemtoasafeplace*/
intreserve_arch(void)
{
structefi_info_hdr*hdr;
debug("table=%lx\n",gd->arch.table);
if(!gd->arch.table)
return0;
hdr=(structefi_info_hdr*)gd->arch.table;
gd->start_addr_sp-=hdr->total_size;
memcpy((void*)gd->start_addr_sp,hdr,hdr->total_size);
debug("StashingEFItableat%lxto%lx,size%x\n",
gd->arch.table,gd->start_addr_sp,hdr->total_size);
gd->arch.table=gd->start_addr_sp;
return0;
}
相关文章推荐
- uboot下init_sequence_f函数之reserve_legacy_video
- uboot下init_sequence_f函数之reserve_round_4k
- uboot下init_sequence_f函数之reserve_fdt
- uboot下init_sequence_f函数之reserve_logbuffer
- uboot下init_sequence_f函数之reserve_global_data
- uboot下init_sequence_f函数之reserve_pram
- uboot下init_sequence_f函数之reserve_trace
- uboot下init_sequence_f函数之reserve_stacks
- uboot下init_sequence_f函数之reserve_malloc
- uboot下init_sequence_f函数之reserve_video
- uboot下init_sequence_f函数之reserve_lcd
- uboot下init_sequence_f函数之reserve_mmu
- uboot下init_sequence_f函数之copy_uboot_to_ram
- uboot下init_sequence_f函数之setup_machine
- uboot下init_sequence_f函数之init_func_spi
- uboot下init_sequence_f函数之init_func_i2c
- uboot下init_sequence_f函数之post_init_f
- uboot下init_sequence_f函数之init_post
- uboot下init_sequence_f函数之setup_dram_config
- uboot下init_sequence_f函数之show_dram_config