arm-uboot: Make self-relocatable to allow loading at any address
This commit is contained in:
parent
5bcb7d394c
commit
86ef66d977
7 changed files with 305 additions and 87 deletions
|
@ -26,7 +26,7 @@
|
|||
|
||||
#endif /* ! ASM_FILE */
|
||||
|
||||
#define GRUB_KERNEL_MACHINE_STACK_SIZE 0x40000
|
||||
#define GRUB_KERNEL_MACHINE_STACK_SIZE GRUB_KERNEL_ARM_STACK_SIZE
|
||||
#define GRUB_KERNEL_MACHINE_HEAP_SIZE (grub_size_t) (16 * 1024 * 1024)
|
||||
|
||||
#endif /* ! GRUB_KERNEL_MACHINE_HEADER */
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
|
||||
/* The offset of GRUB_TOTAL_MODULE_SIZE. */
|
||||
#define GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE 0x8
|
||||
#define GRUB_KERNEL_ARM_STACK_SIZE 0x40000
|
||||
|
||||
#define GRUB_BOOT_SPARC64_IEEE1275_LIST_SIZE 12
|
||||
|
||||
|
@ -120,7 +121,6 @@
|
|||
|
||||
#define GRUB_KERNEL_ARM_UBOOT_MOD_ALIGN 0x8
|
||||
#define GRUB_KERNEL_ARM_UBOOT_TOTAL_MODULE_SIZE 0x4
|
||||
#define GRUB_KERNEL_ARM_UBOOT_LINK_ADDR 0x08000000
|
||||
|
||||
/* Minimal gap between _end and the start of the modules. It's a hack
|
||||
for PowerMac to prevent "CLAIM failed" error. The real fix is to
|
||||
|
|
|
@ -33,8 +33,8 @@ struct grub_mkimage_layout
|
|||
grub_size_t ia64_got_off;
|
||||
grub_size_t got_size;
|
||||
unsigned ia64jmpnum;
|
||||
Elf_Addr bss_start;
|
||||
Elf_Addr end;
|
||||
grub_uint32_t bss_start;
|
||||
grub_uint32_t end;
|
||||
};
|
||||
|
||||
/* Private header. Use only in mkimage-related sources. */
|
||||
|
@ -83,6 +83,7 @@ struct grub_install_image_target_desc
|
|||
unsigned decompressor_compressed_size;
|
||||
unsigned decompressor_uncompressed_size;
|
||||
unsigned decompressor_uncompressed_addr;
|
||||
unsigned reloc_table_offset;
|
||||
unsigned link_align;
|
||||
grub_uint16_t elf_target;
|
||||
unsigned section_align;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue