.
common/board\_f.c
1 static int setup_reloc(void)
2 {
3 if (gd->flags & GD_FLG_SKIP_RELOC) {
4 debug("Skipping relocation due to flag\n");
5 return 0;
6 }
7
8 #ifdef CONFIG_SYS_TEXT_BASE
9 gd->reloc_off = gd->relocaddr - CONFIG_SYS_TEXT_BASE;
10 #ifdef CONFIG_M68K
11 /*
12 * On all ColdFire arch cpu, monitor code starts always
13 * just after the default vector table location, so at 0x400
14 */
15 gd->reloc_off = gd->relocaddr - (CONFIG_SYS_TEXT_BASE + 0x400);
16 #endif
17 #endif
18 memcpy(gd->new_gd, (char *)gd, sizeof(gd_t));
19
20 debug("Relocation Offset is: %08lx\n", gd->reloc_off);
21 debug("Relocating to %08lx, new gd at %08lx, sp at %08lx\n",
22 gd->relocaddr, (ulong)map_to_sysmem(gd->new_gd),
23 gd->start_addr_sp);
24
25 return 0;
26 }
- 8번 줄의
CONFIG_SYS_TEXT_BASE
은0x00008000
로 정의되어 있습니다. - 10번 줄의
CONFIG_M68K
은 정의되어 있지 않습니다.