[PATCH 0/5] arm64: zboot support

Pingfan Liu piliu at redhat.com
Thu May 4 19:54:32 PDT 2023


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.


To: kexec at lists.infradead.org
Cc: horms at verge.net.au
Cc: ardb at kernel.org
Cc: jeremy.linton at arm.com

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

-- 
2.31.1




More information about the kexec mailing list