On Fri, 16 Feb 2024 at 02:22, Caleb Connolly <caleb.conno...@linaro.org> wrote: > > db820c predated support for prepending the kernel image header > automatically, drop it's custom linker script and head.S in favour of > this generic support. > > Reviewed-by: Neil Armstrong <neil.armstr...@linaro.org> > Signed-off-by: Caleb Connolly <caleb.conno...@linaro.org> > --- > arch/arm/mach-snapdragon/Kconfig | 1 + > board/qualcomm/dragonboard820c/Makefile | 1 - > board/qualcomm/dragonboard820c/head.S | 33 --------- > board/qualcomm/dragonboard820c/u-boot.lds | 111 > ------------------------------ > 4 files changed, 1 insertion(+), 145 deletions(-) >
Reviewed-by: Sumit Garg <sumit.g...@linaro.org> -Sumit > diff --git a/arch/arm/mach-snapdragon/Kconfig > b/arch/arm/mach-snapdragon/Kconfig > index ad6671081910..f897c393464f 100644 > --- a/arch/arm/mach-snapdragon/Kconfig > +++ b/arch/arm/mach-snapdragon/Kconfig > @@ -45,6 +45,7 @@ config TARGET_DRAGONBOARD410C > > config TARGET_DRAGONBOARD820C > bool "96Boards Dragonboard 820C" > + select LINUX_KERNEL_IMAGE_HEADER > imply CLK_QCOM_APQ8096 > imply PINCTRL_QCOM_APQ8096 > imply BUTTON_QCOM_PMIC > diff --git a/board/qualcomm/dragonboard820c/Makefile > b/board/qualcomm/dragonboard820c/Makefile > index 643311f5b3ba..2ae6d16364aa 100644 > --- a/board/qualcomm/dragonboard820c/Makefile > +++ b/board/qualcomm/dragonboard820c/Makefile > @@ -3,4 +3,3 @@ > # (C) Copyright 2017 Jorge Ramirez-Ortiz <jorge.ramirez-or...@gmail.com> > > obj-y := dragonboard820c.o > -extra-y += head.o > diff --git a/board/qualcomm/dragonboard820c/head.S > b/board/qualcomm/dragonboard820c/head.S > deleted file mode 100644 > index b052a858fd32..000000000000 > --- a/board/qualcomm/dragonboard820c/head.S > +++ /dev/null > @@ -1,33 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0+ */ > -/* > - * ARM64 header for proper chain-loading with Little Kernel. > - * > - * Little Kernel shipped with Dragonboard820C boots standard Linux images for > - * ARM64. This file adds header that is required to boot U-Boot properly. > - * > - * For details see: > - * https://www.kernel.org/doc/Documentation/arm64/booting.txt > - * > - * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikow...@gmail.com> > - */ > - > -#include <config.h> > - > -/* > - * per document in linux/Doc/arm64/booting.text > - */ > -.global _arm64_header > -_arm64_header: > - b _start > - .word 0 > - .quad CONFIG_TEXT_BASE-PHYS_SDRAM_1 /* Image load offset, LE */ > - .quad 0 /* Effective size of kernel image, little-endian */ > - .quad 0 /* kernel flags, little-endian */ > - .quad 0 /* reserved */ > - .quad 0 /* reserved */ > - .quad 0 /* reserved */ > - .byte 0x41 /* Magic number, "ARM\x64" */ > - .byte 0x52 > - .byte 0x4d > - .byte 0x64 > - .word 0 /* reserved (used for PE COFF offset) */ > diff --git a/board/qualcomm/dragonboard820c/u-boot.lds > b/board/qualcomm/dragonboard820c/u-boot.lds > deleted file mode 100644 > index 5251b59fbe76..000000000000 > --- a/board/qualcomm/dragonboard820c/u-boot.lds > +++ /dev/null > @@ -1,111 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0+ */ > -/* > - * Override linker script for fastboot-readable images > - * > - * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikow...@gmail.com> > - * > - * Based on arch/arm/cpu/armv8/u-boot.lds (Just add header) > - */ > - > -OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", > "elf64-littleaarch64") > -OUTPUT_ARCH(aarch64) > -ENTRY(_arm64_header) > -SECTIONS > -{ > - . = 0x00000000; > - > - . = ALIGN(8); > - .text : > - { > - *(.__image_copy_start) > - board/qualcomm/dragonboard820c/head.o (.text*) > - CPUDIR/start.o (.text*) > - } > - > - /* This needs to come before *(.text*) */ > - .efi_runtime : { > - __efi_runtime_start = .; > - *(.text.efi_runtime*) > - *(.rodata.efi_runtime*) > - *(.data.efi_runtime*) > - __efi_runtime_stop = .; > - } > - > - .text_rest : > - { > - *(.text*) > - } > - > - . = ALIGN(8); > - .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } > - > - . = ALIGN(8); > - .data : { > - *(.data*) > - } > - > - . = ALIGN(8); > - > - . = .; > - > - . = ALIGN(8); > - __u_boot_list : { > - KEEP(*(SORT(__u_boot_list*))); > - } > - > - . = ALIGN(8); > - > - .efi_runtime_rel : { > - __efi_runtime_rel_start = .; > - *(.rel*.efi_runtime) > - *(.rel*.efi_runtime.*) > - __efi_runtime_rel_stop = .; > - } > - > - . = ALIGN(8); > - > - .image_copy_end : > - { > - *(.__image_copy_end) > - } > - > - . = ALIGN(8); > - > - .rel_dyn_start : > - { > - *(.__rel_dyn_start) > - } > - > - .rela.dyn : { > - *(.rela*) > - } > - > - .rel_dyn_end : > - { > - *(.__rel_dyn_end) > - } > - > - _end = .; > - > - . = ALIGN(8); > - > - .bss_start : { > - KEEP(*(.__bss_start)); > - } > - > - .bss : { > - *(.bss*) > - . = ALIGN(8); > - } > - > - .bss_end : { > - KEEP(*(.__bss_end)); > - } > - > - /DISCARD/ : { *(.dynsym) } > - /DISCARD/ : { *(.dynstr*) } > - /DISCARD/ : { *(.dynamic*) } > - /DISCARD/ : { *(.plt*) } > - /DISCARD/ : { *(.interp*) } > - /DISCARD/ : { *(.gnu*) } > -} > > -- > 2.43.1 >