* [PATCHv4 10/12] arm64/kexec: Add PE image format support
[not found] <20250722020319.5837-1-piliu@redhat.com>
@ 2025-07-22 2:03 ` Pingfan Liu
2025-07-22 5:49 ` Catalin Marinas
0 siblings, 1 reply; 2+ messages in thread
From: Pingfan Liu @ 2025-07-22 2:03 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Pingfan Liu, Alexei Starovoitov, Daniel Borkmann, John Fastabend,
Andrii Nakryiko, Martin KaFai Lau, Eduard Zingerman, Song Liu,
Yonghong Song, Jeremy Linton, Catalin Marinas, Will Deacon,
Ard Biesheuvel, Simon Horman, Gerd Hoffmann, Vitaly Kuznetsov,
Philipp Rudo, Viktor Malik, Jan Hendrik Farr, Baoquan He,
Dave Young, Andrew Morton, kexec, bpf
Now everything is ready for kexec PE image parser. Select it on arm64
for zboot and UKI image support.
Signed-off-by: Pingfan Liu <piliu@redhat.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
To: linux-arm-kernel@lists.infradead.org
---
arch/arm64/Kconfig | 1 +
arch/arm64/include/asm/kexec.h | 1 +
arch/arm64/kernel/machine_kexec_file.c | 3 +++
3 files changed, 5 insertions(+)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 55fc331af3371..8973697ed1479 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1606,6 +1606,7 @@ config ARCH_SELECTS_KEXEC_FILE
def_bool y
depends on KEXEC_FILE
select HAVE_IMA_KEXEC if IMA
+ select KEXEC_PE_IMAGE
config ARCH_SUPPORTS_KEXEC_SIG
def_bool y
diff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h
index 4d9cc7a76d9ca..d50796bd2f1e6 100644
--- a/arch/arm64/include/asm/kexec.h
+++ b/arch/arm64/include/asm/kexec.h
@@ -120,6 +120,7 @@ struct kimage_arch {
#ifdef CONFIG_KEXEC_FILE
extern const struct kexec_file_ops kexec_image_ops;
+extern const struct kexec_file_ops kexec_pe_image_ops;
int arch_kimage_file_post_load_cleanup(struct kimage *image);
#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup
diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c
index af1ca875c52ce..7c544c385a9ab 100644
--- a/arch/arm64/kernel/machine_kexec_file.c
+++ b/arch/arm64/kernel/machine_kexec_file.c
@@ -24,6 +24,9 @@
const struct kexec_file_ops * const kexec_file_loaders[] = {
&kexec_image_ops,
+#ifdef CONFIG_KEXEC_PE_IMAGE
+ &kexec_pe_image_ops,
+#endif
NULL
};
--
2.49.0
^ permalink raw reply related [flat|nested] 2+ messages in thread