]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/karo/tx6/u-boot.lds
karo: tx6: don't position CSF at fixed offset
[karo-tx-uboot.git] / board / karo / tx6 / u-boot.lds
index 4578febfb434b753cc430a9d59a4a715cf368e09..e7c9c38cdf12b352078fc1e26527f7538f6d9aca 100644 (file)
@@ -27,13 +27,17 @@ SECTIONS
        . = 0x00000000;
        .text :
        {
+               __uboot_img_start = .;
+               . = 0x400;
+               __ivt_start = .;
+               KEEP(*(.ivt*))
+               . = 0x1000;
+               __ivt_end = .;
                *(.__image_copy_start)
                *(.vectors)
                CPUDIR/start.o (.text*)
-               . = 0x400;
-               KEEP(board/karo/tx6/lowlevel_init.o (.text*))
                *(.text*)
-       }
+       } = 0xadde01f0
 
        . = ALIGN(4);
        .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
@@ -41,9 +45,9 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data*)
+               . = ALIGN(4);
        }
 
-       . = ALIGN(4);
        .u_boot_list : {
                KEEP(*(SORT(.u_boot_list*)));
        }
@@ -69,12 +73,25 @@ SECTIONS
                *(.__rel_dyn_end)
        }
 
-       .end :
+       .pad :
        {
-               *(.__end)
+               *(.pad)
+               . = ALIGN(4096);
+       } = 0x01f0adde
+
+       .uboot_img_end :
+       {
+               KEEP(*(.__uboot_img_end))
        }
 
-       _image_binary_end = .;
+#ifdef CONFIG_SECURE_BOOT
+       .csf_data :
+       {
+               *(.__csf_data)
+               . = . + 0x2000;
+       }
+#endif
+       __uboot_img_len = . - __uboot_img_start;
 
 /*
  * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
@@ -94,26 +111,17 @@ SECTIONS
        .bss_end __bss_limit (OVERLAY) : {
                KEEP(*(.__bss_end));
        }
-       .dynsym _image_binary_end : { *(.dynsym) }
-       .dynbss : { *(.dynbss) }
-       .dynstr : { *(.dynstr*) }
-       .dynamic : { *(.dynamic*) }
-       .plt : { *(.plt*) }
-       .interp : { *(.interp*) }
-       .gnu.hash : { *(.gnu.hash) }
-       .gnu : { *(.gnu*) }
-       .ARM.exidx : { *(.ARM.exidx*) }
-       .gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) }
 
-/*
-       /DISCARD/ : { *(.bss*) }
+       /DISCARD/ : { *(.debug*) }
+       /DISCARD/ : { *(.note*) }
+       /DISCARD/ : { *(.comment*) }
+       /DISCARD/ : { *(.dynbss) }
        /DISCARD/ : { *(.dynstr*) }
-       /DISCARD/ : { *(.dynsym*) }
        /DISCARD/ : { *(.dynamic*) }
-       /DISCARD/ : { *(.hash*) }
        /DISCARD/ : { *(.plt*) }
        /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu.hash) }
        /DISCARD/ : { *(.gnu*) }
-*/
+       /DISCARD/ : { *(.ARM.exidx*) }
+       /DISCARD/ : { *(.gnu.linkonce.armexidx.*) }
 }