From: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Alexandre Ghiti <alex@ghiti.fr>,
Albert Ou <aou@eecs.berkeley.edu>,
Ard Biesheuvel <ardb@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Jonathan Corbet <corbet@lwn.net>, David Sterba <dsterba@suse.com>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-doc@vger.kernel.org, linux-efi@vger.kernel.org,
linux-riscv@lists.infradead.org,
Mark Rutland <mark.rutland@arm.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <pjw@kernel.org>,
Randy Dunlap <rdunlap@infradead.org>,
Simon Glass <sjg@chromium.org>,
Shuah Khan <skhan@linuxfoundation.org>,
Nick Terrell <terrelln@fb.com>, Will Deacon <will@kernel.org>,
Alexandre Ghiti <alexghiti@rivosinc.com>,
Conor Dooley <conor.dooley@microchip.com>,
linux-integrity@vger.kernel.org,
Palmer Dabbelt <palmer@rivosinc.com>,
patches@lists.linux.dev,
Ross Philipson <ross.philipson@gmail.com>,
Sami Tolvanen <samitolvanen@google.com>,
Song Shuai <songshuaishuai@tinylab.org>,
Will Deacon <will@kernel.org>
Subject: Re: [PATCH 04/16] vmlinux.lds: Move DATA_LE32() from arm64 to the common linker script
Date: Thu, 24 Sep 2026 15:53:07 -0700 [thread overview]
Message-ID: <20260924155307.00007dfc@oss.qualcomm.com> (raw)
In-Reply-To: <4-v1-27d06b313981+8b-arm64_drtm_jgg@nvidia.com>
On Thu, 24 Sep 2026 10:53:07 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:
> Other arches may want to use this to get consistent fixed endian output.
You will have to grab it quickly!
https://lore.kernel.org/all/20260918145217.1669-10-will@kernel.org/#Z31arch:arm64:kernel:image.h
drops that definition as part of ripping out arm64 big endian support.
+CC Will for awareness.
>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
> arch/arm64/kernel/image.h | 14 --------------
> include/asm-generic/vmlinux.lds.h | 15 +++++++++++++++
> 2 files changed, 15 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h
> index 7bc3ba89790191..1bff6b061b6cab 100644
> --- a/arch/arm64/kernel/image.h
> +++ b/arch/arm64/kernel/image.h
> @@ -14,26 +14,12 @@
> #include <asm/image.h>
>
> /*
> - * There aren't any ELF relocations we can use to endian-swap values known only
> - * at link time (e.g. the subtraction of two symbol addresses), so we must get
> - * the linker to endian-swap certain values before emitting them.
> - *
> * Note that, in order for this to work when building the ELF64 PIE executable
> * (for KASLR), these values should not be referenced via R_AARCH64_ABS64
> * relocations, since these are fixed up at runtime rather than at build time
> * when PIE is in effect. So we need to split them up in 32-bit high and low
> * words.
> */
> -#ifdef CONFIG_CPU_BIG_ENDIAN
> -#define DATA_LE32(data) \
> - ((((data) & 0x000000ff) << 24) | \
> - (((data) & 0x0000ff00) << 8) | \
> - (((data) & 0x00ff0000) >> 8) | \
> - (((data) & 0xff000000) >> 24))
> -#else
> -#define DATA_LE32(data) ((data) & 0xffffffff)
> -#endif
> -
> #define DEFINE_IMAGE_LE64(sym, data) \
> sym##_lo32 = DATA_LE32((data) & 0xffffffff); \
> sym##_hi32 = DATA_LE32((data) >> 32)
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index b2988aa12f6645..1786a8e4323b9f 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -56,6 +56,21 @@
> #define LOAD_OFFSET 0
> #endif
>
> +/*
> + * There aren't any ELF relocations we can use to endian-swap values known only
> + * at link time (e.g. the subtraction of two symbol addresses), so we must get
> + * the linker to endian-swap certain values before emitting them.
> + */
> +#ifdef CONFIG_CPU_BIG_ENDIAN
> +#define DATA_LE32(data) \
> + ((((data) & 0x000000ff) << 24) | \
> + (((data) & 0x0000ff00) << 8) | \
> + (((data) & 0x00ff0000) >> 8) | \
> + (((data) & 0xff000000) >> 24))
> +#else
> +#define DATA_LE32(data) ((data) & 0xffffffff)
> +#endif
> +
> /*
> * Only some architectures want to have the .notes segment visible in
> * a separate PT_NOTE ELF Program Header. When this happens, it needs
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Alexandre Ghiti <alex@ghiti.fr>,
Albert Ou <aou@eecs.berkeley.edu>,
Ard Biesheuvel <ardb@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Jonathan Corbet <corbet@lwn.net>, David Sterba <dsterba@suse.com>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-doc@vger.kernel.org, linux-efi@vger.kernel.org,
linux-riscv@lists.infradead.org,
Mark Rutland <mark.rutland@arm.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <pjw@kernel.org>,
Randy Dunlap <rdunlap@infradead.org>,
Simon Glass <sjg@chromium.org>,
Shuah Khan <skhan@linuxfoundation.org>,
Nick Terrell <terrelln@fb.com>, Will Deacon <will@kernel.org>,
Alexandre Ghiti <alexghiti@rivosinc.com>,
Conor Dooley <conor.dooley@microchip.com>,
linux-integrity@vger.kernel.org,
Palmer Dabbelt <palmer@rivosinc.com>,
patches@lists.linux.dev,
Ross Philipson <ross.philipson@gmail.com>,
Sami Tolvanen <samitolvanen@google.com>,
Song Shuai <songshuaishuai@tinylab.org>,
Will Deacon <will@kernel.org>
Subject: Re: [PATCH 04/16] vmlinux.lds: Move DATA_LE32() from arm64 to the common linker script
Date: Thu, 24 Sep 2026 15:53:07 -0700 [thread overview]
Message-ID: <20260924155307.00007dfc@oss.qualcomm.com> (raw)
In-Reply-To: <4-v1-27d06b313981+8b-arm64_drtm_jgg@nvidia.com>
On Thu, 24 Sep 2026 10:53:07 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:
> Other arches may want to use this to get consistent fixed endian output.
You will have to grab it quickly!
https://lore.kernel.org/all/20260918145217.1669-10-will@kernel.org/#Z31arch:arm64:kernel:image.h
drops that definition as part of ripping out arm64 big endian support.
+CC Will for awareness.
>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
> arch/arm64/kernel/image.h | 14 --------------
> include/asm-generic/vmlinux.lds.h | 15 +++++++++++++++
> 2 files changed, 15 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h
> index 7bc3ba89790191..1bff6b061b6cab 100644
> --- a/arch/arm64/kernel/image.h
> +++ b/arch/arm64/kernel/image.h
> @@ -14,26 +14,12 @@
> #include <asm/image.h>
>
> /*
> - * There aren't any ELF relocations we can use to endian-swap values known only
> - * at link time (e.g. the subtraction of two symbol addresses), so we must get
> - * the linker to endian-swap certain values before emitting them.
> - *
> * Note that, in order for this to work when building the ELF64 PIE executable
> * (for KASLR), these values should not be referenced via R_AARCH64_ABS64
> * relocations, since these are fixed up at runtime rather than at build time
> * when PIE is in effect. So we need to split them up in 32-bit high and low
> * words.
> */
> -#ifdef CONFIG_CPU_BIG_ENDIAN
> -#define DATA_LE32(data) \
> - ((((data) & 0x000000ff) << 24) | \
> - (((data) & 0x0000ff00) << 8) | \
> - (((data) & 0x00ff0000) >> 8) | \
> - (((data) & 0xff000000) >> 24))
> -#else
> -#define DATA_LE32(data) ((data) & 0xffffffff)
> -#endif
> -
> #define DEFINE_IMAGE_LE64(sym, data) \
> sym##_lo32 = DATA_LE32((data) & 0xffffffff); \
> sym##_hi32 = DATA_LE32((data) >> 32)
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index b2988aa12f6645..1786a8e4323b9f 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -56,6 +56,21 @@
> #define LOAD_OFFSET 0
> #endif
>
> +/*
> + * There aren't any ELF relocations we can use to endian-swap values known only
> + * at link time (e.g. the subtraction of two symbol addresses), so we must get
> + * the linker to endian-swap certain values before emitting them.
> + */
> +#ifdef CONFIG_CPU_BIG_ENDIAN
> +#define DATA_LE32(data) \
> + ((((data) & 0x000000ff) << 24) | \
> + (((data) & 0x0000ff00) << 8) | \
> + (((data) & 0x00ff0000) >> 8) | \
> + (((data) & 0xff000000) >> 24))
> +#else
> +#define DATA_LE32(data) ((data) & 0xffffffff)
> +#endif
> +
> /*
> * Only some architectures want to have the .notes segment visible in
> * a separate PT_NOTE ELF Program Header. When this happens, it needs
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-09-24 22:53 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-24 13:53 [PATCH 00/16] arm64: DRTM, boot portion Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 01/16] efi/libstub: Fix error unwind freeing fdt in allocate_new_fdt_and_exit_boot() Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 22:42 ` Jonathan Cameron
2026-09-24 22:42 ` Jonathan Cameron
2026-09-24 23:44 ` Jason Gunthorpe
2026-09-24 23:44 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 02/16] efi/riscv: libstub: Don't set image_size in handle_kernel_image() Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 03/16] efi/libstub: Free cmdline_ptr in efi_pe_entry Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 22:49 ` Jonathan Cameron
2026-09-24 22:49 ` Jonathan Cameron
2026-09-25 12:59 ` Jason Gunthorpe
2026-09-25 12:59 ` Jason Gunthorpe
2026-09-25 13:20 ` Ard Biesheuvel
2026-09-25 13:20 ` Ard Biesheuvel
2026-09-24 13:53 ` [PATCH 04/16] vmlinux.lds: Move DATA_LE32() from arm64 to the common linker script Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 22:53 ` Jonathan Cameron [this message]
2026-09-24 22:53 ` Jonathan Cameron
2026-09-24 23:50 ` Jason Gunthorpe
2026-09-24 23:50 ` Jason Gunthorpe
2026-09-25 13:30 ` Ard Biesheuvel
2026-09-25 13:30 ` Ard Biesheuvel
2026-09-24 13:53 ` [PATCH 05/16] efi/libstub: Add a general way to get symbols from the vmlinux into zboot Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 06/16] arm64/efi: Use CONFIG_EFI_STUB_IMAGE_INFO for code_size Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 07/16] efi/zboot: Lift efi_cache_sync_image() from efi_zboot_decompress() Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 22:57 ` Jonathan Cameron
2026-09-24 22:57 ` Jonathan Cameron
2026-09-24 23:53 ` Jason Gunthorpe
2026-09-24 23:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 08/16] efi/libstub: Add generic arch callbacks for DRTM Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 09/16] efi/libstub: Have efi_kaslr_relocate_kernel() handle extra_size Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 10/16] efi: Add a __efi_data_handoff section annotation Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 11/16] efi/libstub: Put the stub's writable data in unique sections for DRTM Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 12/16] arm64: drtm: Add macro definitions for DEN0113 Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-25 0:29 ` Jonathan Cameron
2026-09-25 0:29 ` Jonathan Cameron
2026-09-26 18:27 ` Jason Gunthorpe
2026-09-26 18:27 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 13/16] arm64: drtm: Update the linker script for EFI_STUB_DRTM Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 14/16] arm64: drtm: Add drtm_entry point to head.S Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 15/16] arm64: drtm: Call UNPROTECT_MEMORY Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-24 13:53 ` [PATCH 16/16] efi/arm64: Implement ARM64 DRTM in the stub Jason Gunthorpe
2026-09-24 13:53 ` Jason Gunthorpe
2026-09-25 18:37 ` Jonathan Cameron
2026-09-25 18:37 ` Jonathan Cameron
2026-09-26 18:45 ` Jason Gunthorpe
2026-09-26 18:45 ` Jason Gunthorpe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260924155307.00007dfc@oss.qualcomm.com \
--to=jonathan.cameron@oss.qualcomm.com \
--cc=alex@ghiti.fr \
--cc=alexghiti@rivosinc.com \
--cc=aou@eecs.berkeley.edu \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=conor.dooley@microchip.com \
--cc=corbet@lwn.net \
--cc=dsterba@suse.com \
--cc=ilias.apalodimas@linaro.org \
--cc=jgg@nvidia.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=palmer@dabbelt.com \
--cc=palmer@rivosinc.com \
--cc=patches@lists.linux.dev \
--cc=pjw@kernel.org \
--cc=rdunlap@infradead.org \
--cc=ross.philipson@gmail.com \
--cc=samitolvanen@google.com \
--cc=sjg@chromium.org \
--cc=skhan@linuxfoundation.org \
--cc=songshuaishuai@tinylab.org \
--cc=terrelln@fb.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.