On 5/4/23 21:54, Pingfan Liu wrote:
As more complicated capsule kernel format occurs like zboot, where the
compressed kernel is stored as a payload. The straight forward
decompression can not meet the demand.
As the first step, on aarch64, reading in the kernel file in a probe
method and decide how to unfold the content by the method itself.
The new designed probe interface returns two factors:
1. the parsed kernel_buf should be returned so that it can be used by
the image load method later.
2. the final fd passed to sys_kexec_file_load, since aarch64 kernel can
only work with Image format, the outer payload should be stripped and a
temporary file of Image should be created.
Well this is unfortunate. I pinged you a few days back but I guess it
must have gotten lost in the noise.
I'm ok with dropping my set, but I don't see your 5/5, and it doesn't
show up in the archive either. Which presumably is the core ZBOOT
functionality. From what I can tell without that, this set then is all
just cleanup. So did you do that on purpose, if so maybe its best then
to just rebase on top of my set?
Given I'm not a regular contributor here I'm not sure my opinion matters
much, but one of the things that bothered me when I was yak shaving my
set, were the #ifdef aarch64 bits in the common code. I considered
attempting to remove it but that was a bit more involved than I wanted
to get. But, as Ard correctly points out, the zboot is being used by
more than aarch64 at this point. So that is also a argument for assuring
whatever the probe()/etc interface is, that its not #ifdefed.
To: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Pingfan Liu (5):
kexec: Adding missing free for kernel_buf
arm64/zImage: Remove unnecessary allocation for
kernel_uncompressed_buf
arm64: change the prototype of image probe function
arm64: Scatter the reading of kernel file into each probe
arm64: add support for zboot image
kexec/arch/arm/kexec-arm.h | 4 +-
kexec/arch/arm/kexec-uImage-arm.c | 2 +-
kexec/arch/arm64/Makefile | 3 +-
kexec/arch/arm64/kexec-arm64.c | 1 +
kexec/arch/arm64/kexec-arm64.h | 13 +-
kexec/arch/arm64/kexec-elf-arm64.c | 7 +-
kexec/arch/arm64/kexec-image-arm64.c | 6 +-
kexec/arch/arm64/kexec-uImage-arm64.c | 17 +-
kexec/arch/arm64/kexec-zImage-arm64.c | 23 +--
kexec/arch/arm64/kexec-zboot-arm64.c | 261 ++++++++++++++++++++++++++
kexec/arch/arm64/zboot.h | 26 +++
kexec/kexec.c | 48 +++--
kexec/kexec.h | 8 +
13 files changed, 377 insertions(+), 42 deletions(-)
create mode 100644 kexec/arch/arm64/kexec-zboot-arm64.c
create mode 100644 kexec/arch/arm64/zboot.h
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec