您的位置:首页 > 产品设计 > UI/UE

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;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: