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

uboot下init_sequence_f函数之setup_reloc

2017-03-21 08:23 591 查看
setup_reloc:

static int setup_reloc(void)
{
 if (gd->flags & GD_FLG_SKIP_RELOC) {
  debug("Skipping relocation due to flag\n");
  return 0;
 }
#ifdef CONFIG_SYS_TEXT_BASE
 gd->reloc_off = gd->relocaddr - CONFIG_SYS_TEXT_BASE;
#ifdef CONFIG_M68K
 /*
  * On all ColdFire arch cpu, monitor code starts always
  * just after the default vector table location, so at 0x400
  */
 gd->reloc_off = gd->relocaddr - (CONFIG_SYS_TEXT_BASE + 0x400);
#endif
#endif
 memcpy(gd->new_gd, (char *)gd, sizeof(gd_t));
 debug("Relocation Offset is: %08lx\n", gd->reloc_off);
 debug("Relocating to %08lx, new gd at %08lx, sp at %08lx\n",
       gd->relocaddr, (ulong)map_to_sysmem(gd->new_gd),
       gd->start_addr_sp);
 return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: