Skip to content
Snippets Groups Projects
  1. Oct 27, 2014
  2. Jul 24, 2013
  3. May 13, 2013
  4. Mar 15, 2013
  5. Mar 04, 2013
    • Simon Glass's avatar
      x86: Add error checking to x86 relocation code · 62f7970a
      Simon Glass authored
      
      This does not actually change normal behaviour, but adds a check that
      should detect corruption of relocation data (e.g. by using BSS data
      prior to relocation).
      
      Also add additional debugging output when enabled.
      
      During this investigation, two situations have been seen:
      1. calculate_relocation_address():
      	uintptr_t size = (uintptr_t)&__bss_end - (uintptr_t)&__text_start;
      
      turns into
           111166f:	b8 83 c4 17 01       	mov    $0x117c483,%eax
      
      whih is beyond the end of bss:
      
      0117b484 g       .bss	00000000 __bss_end
      
      Somehow the __bss_end here is 255 bytes ahead.
      
      2. do_elf_reloc_fixups():
      
      	uintptr_t size = (uintptr_t)&__bss_end - (uintptr_t)&__text_start;
      
      Here the __text_start is 0 in the file:
      
       1111d9f:	bb a0 e0 13 01       	mov    $0x113e0a0,%ebx
      1111da4:	81 ef 00 00 00 00    	sub    $0x0,%edi
      
      As it happens, both of these are in pre-relocation code.
      
      For these reasons we silent check and ignore bad relocations.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      62f7970a
    • Simon Glass's avatar
      x86: Support relocation of FDT on start-up · f697d528
      Simon Glass authored
      
      With CONFIG_OF_CONTROL we may have an FDT in the BSS region. Relocate
      it up with the rest of U-Boot to keep the rest of memory free.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      f697d528
  6. Dec 06, 2012
  7. Jan 04, 2012
Loading