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
|
@ -88,6 +88,7 @@ static const struct grub_install_image_target_desc image_targets[] =
|
|||
.decompressor_compressed_size = TARGET_NO_FIELD,
|
||||
.decompressor_uncompressed_size = TARGET_NO_FIELD,
|
||||
.decompressor_uncompressed_addr = TARGET_NO_FIELD,
|
||||
.reloc_table_offset = TARGET_NO_FIELD,
|
||||
.section_align = 1,
|
||||
.vaddr_offset = 0,
|
||||
.link_addr = GRUB_KERNEL_I386_COREBOOT_LINK_ADDR,
|
||||
|
@ -527,7 +528,6 @@ static const struct grub_install_image_target_desc image_targets[] =
|
|||
.decompressor_uncompressed_addr = TARGET_NO_FIELD,
|
||||
.section_align = GRUB_KERNEL_ARM_UBOOT_MOD_ALIGN,
|
||||
.vaddr_offset = 0,
|
||||
.link_addr = GRUB_KERNEL_ARM_UBOOT_LINK_ADDR,
|
||||
.elf_target = EM_ARM,
|
||||
.mod_gap = GRUB_KERNEL_ARM_UBOOT_MOD_GAP,
|
||||
.mod_align = GRUB_KERNEL_ARM_UBOOT_MOD_ALIGN,
|
||||
|
@ -1522,9 +1522,9 @@ grub_install_generate_image (const char *dir, const char *prefix,
|
|||
hdr->ih_magic = grub_cpu_to_be32_compile_time (GRUB_UBOOT_IH_MAGIC);
|
||||
hdr->ih_time = grub_cpu_to_be32 (STABLE_EMBEDDING_TIMESTAMP);
|
||||
hdr->ih_size = grub_cpu_to_be32 (core_size);
|
||||
hdr->ih_load = grub_cpu_to_be32 (image_target->link_addr);
|
||||
hdr->ih_ep = grub_cpu_to_be32 (image_target->link_addr);
|
||||
hdr->ih_type = GRUB_UBOOT_IH_TYPE_KERNEL;
|
||||
hdr->ih_load = 0;
|
||||
hdr->ih_ep = 0;
|
||||
hdr->ih_type = GRUB_UBOOT_IH_TYPE_KERNEL_NOLOAD;
|
||||
hdr->ih_os = GRUB_UBOOT_IH_OS_LINUX;
|
||||
hdr->ih_arch = GRUB_UBOOT_IH_ARCH_ARM;
|
||||
hdr->ih_comp = GRUB_UBOOT_IH_COMP_NONE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue