diff options
author | Tom Rini <trini@ti.com> | 2012-11-28 13:44:40 -0700 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-11-28 13:44:40 -0700 |
commit | e57d9d15eeab923f6c0de05d7caad317d861bbc5 (patch) | |
tree | 4c48c08c983e1b50850cdc7206ed4fb796087bed /arch/x86/lib/init_helpers.c | |
parent | a86fcff69519841aa1338efb1ace37ca77c16c35 (diff) | |
parent | d02a568e9aa3c3500d9b680f60782c192fd51691 (diff) |
Merge branch 'master' of git://www.denx.de/git/u-boot-x86
Diffstat (limited to 'arch/x86/lib/init_helpers.c')
-rw-r--r-- | arch/x86/lib/init_helpers.c | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/arch/x86/lib/init_helpers.c b/arch/x86/lib/init_helpers.c index 9ec34ff992..87c7263fcb 100644 --- a/arch/x86/lib/init_helpers.c +++ b/arch/x86/lib/init_helpers.c @@ -83,18 +83,8 @@ int calculate_relocation_address(void) * requirements */ - /* Global Data is at top of available memory */ + /* Stack is at top of available memory */ dest_addr = gd->ram_size; - dest_addr -= GENERATED_GBL_DATA_SIZE; - dest_addr &= ~15; - gd->new_gd_addr = dest_addr; - - /* GDT is below Global Data */ - dest_addr -= X86_GDT_SIZE; - dest_addr &= ~15; - gd->gdt_addr = dest_addr; - - /* Stack is below GDT */ gd->start_addr_sp = dest_addr; /* U-Boot is below the stack */ @@ -107,31 +97,6 @@ int calculate_relocation_address(void) return 0; } -int copy_gd_to_ram_f_r(void) -{ - gd_t *ram_gd; - - /* - * Global data is still in temporary memory (the CPU cache). - * calculate_relocation_address() has set gd->new_gd_addr to - * where the global data lives in RAM but getting it there - * safely is a bit tricky due to the 'F-Segment Hack' that - * we need to use for x86 - */ - ram_gd = (gd_t *)gd->new_gd_addr; - memcpy((void *)ram_gd, gd, sizeof(gd_t)); - - /* - * Reload the Global Descriptor Table so FS points to the - * in-RAM copy of Global Data (calculate_relocation_address() - * has already calculated the in-RAM location of the GDT) - */ - ram_gd->gd_addr = (ulong)ram_gd; - init_gd(ram_gd, (u64 *)gd->gdt_addr); - - return 0; -} - int init_cache_f_r(void) { /* Initialise the CPU cache(s) */ |