mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 02:24:51 +00:00
hw/loader: Rename LOAD_IMAGE_MAX _GUNZIP_BYTES to _DECOMPRESSED_BYTES
Preparation for adding support for zstd compressed efi zboot kernel images. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Daan De Meyer <daan.j.demeyer@gmail.com> Message-ID: <20251124123521.1058183-2-daan.j.demeyer@gmail.com> [PMD: Wrap long line to avoid checkpatch.pl warning] Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
committed by
Philippe Mathieu-Daudé
parent
4395c14a45
commit
0d0ba24909
@@ -816,14 +816,14 @@ static ssize_t arm_load_elf(struct arm_boot_info *info, uint64_t *pentry,
|
||||
static uint64_t load_aarch64_image(const char *filename, hwaddr mem_base,
|
||||
hwaddr *entry, AddressSpace *as)
|
||||
{
|
||||
const size_t max_bytes = LOAD_IMAGE_MAX_DECOMPRESSED_BYTES;
|
||||
hwaddr kernel_load_offset = KERNEL64_LOAD_ADDR;
|
||||
uint64_t kernel_size = 0;
|
||||
uint8_t *buffer;
|
||||
ssize_t size;
|
||||
|
||||
/* On aarch64, it's the bootloader's job to uncompress the kernel. */
|
||||
size = load_image_gzipped_buffer(filename, LOAD_IMAGE_MAX_GUNZIP_BYTES,
|
||||
&buffer);
|
||||
size = load_image_gzipped_buffer(filename, max_bytes, &buffer);
|
||||
|
||||
if (size < 0) {
|
||||
gsize len;
|
||||
|
||||
@@ -829,8 +829,8 @@ ssize_t load_image_gzipped_buffer(const char *filename, uint64_t max_sz,
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (max_sz > LOAD_IMAGE_MAX_GUNZIP_BYTES) {
|
||||
max_sz = LOAD_IMAGE_MAX_GUNZIP_BYTES;
|
||||
if (max_sz > LOAD_IMAGE_MAX_DECOMPRESSED_BYTES) {
|
||||
max_sz = LOAD_IMAGE_MAX_DECOMPRESSED_BYTES;
|
||||
}
|
||||
|
||||
data = g_malloc(max_sz);
|
||||
@@ -896,6 +896,7 @@ struct linux_efi_zboot_header {
|
||||
*/
|
||||
ssize_t unpack_efi_zboot_image(uint8_t **buffer, ssize_t *size)
|
||||
{
|
||||
const size_t max_bytes = LOAD_IMAGE_MAX_DECOMPRESSED_BYTES;
|
||||
const struct linux_efi_zboot_header *header;
|
||||
uint8_t *data = NULL;
|
||||
ssize_t ploff, plsize;
|
||||
@@ -931,8 +932,8 @@ ssize_t unpack_efi_zboot_image(uint8_t **buffer, ssize_t *size)
|
||||
return -1;
|
||||
}
|
||||
|
||||
data = g_malloc(LOAD_IMAGE_MAX_GUNZIP_BYTES);
|
||||
bytes = gunzip(data, LOAD_IMAGE_MAX_GUNZIP_BYTES, *buffer + ploff, plsize);
|
||||
data = g_malloc(max_bytes);
|
||||
bytes = gunzip(data, max_bytes, *buffer + ploff, plsize);
|
||||
if (bytes < 0) {
|
||||
fprintf(stderr, "failed to decompress EFI zboot image\n");
|
||||
g_free(data);
|
||||
|
||||
@@ -1115,7 +1115,8 @@ void load_image_to_fw_cfg(FWCfgState *fw_cfg, uint16_t size_key,
|
||||
|
||||
if (try_decompress) {
|
||||
size = load_image_gzipped_buffer(image_name,
|
||||
LOAD_IMAGE_MAX_GUNZIP_BYTES, &data);
|
||||
LOAD_IMAGE_MAX_DECOMPRESSED_BYTES,
|
||||
&data);
|
||||
}
|
||||
|
||||
if (size == (size_t)-1) {
|
||||
|
||||
@@ -82,7 +82,7 @@ ssize_t load_image_mr(const char *filename, MemoryRegion *mr);
|
||||
* load_image_gzipped_buffer() will read. It prevents
|
||||
* g_malloc() in those functions from allocating a huge amount of memory.
|
||||
*/
|
||||
#define LOAD_IMAGE_MAX_GUNZIP_BYTES (256 << 20)
|
||||
#define LOAD_IMAGE_MAX_DECOMPRESSED_BYTES (256 << 20)
|
||||
|
||||
ssize_t load_image_gzipped_buffer(const char *filename, uint64_t max_sz,
|
||||
uint8_t **buffer);
|
||||
|
||||
Reference in New Issue
Block a user