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: kexec@xxxxxxxxxxxxxxxxxxx Cc: horms@xxxxxxxxxxxx Cc: ardb@xxxxxxxxxx Cc: jeremy.linton@xxxxxxx 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 kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec