[PATCH v4 19/39] board: dragonboard820c: use LINUX_KERNEL_IMAGE_HEADER
Sumit Garg
sumit.garg at linaro.org
Tue Feb 20 14:28:48 CET 2024
On Fri, 16 Feb 2024 at 02:22, Caleb Connolly <caleb.connolly at 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.armstrong at linaro.org>
> Signed-off-by: Caleb Connolly <caleb.connolly at 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.garg at 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-ortiz at 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.kulikowski at 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.kulikowski at 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
>
More information about the U-Boot
mailing list