libxenguest: support zstd compressed kernels

This follows the logic used for other decompression methods utilizing an
external library, albeit here we can't ignore the 32-bit size field
appended to the compressed image - its presence causes decompression to
fail. Leverage the field instead to allocate the output buffer in one
go, i.e. without incrementally realloc()ing.

As far as configure.ac goes, I'm pretty sure there is a better (more
"standard") way of using PKG_CHECK_MODULES(). The construct also gets
put next to the other decompression library checks, albeit I think they
all ought to be x86-specific (e.g. placed in the existing case block a
few lines down).

Note that, where possible, instead of #ifdef-ing xen/*.h inclusions,
they get removed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Wei Liu <wl@xen.org>
Reviewed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Release-Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
Jan Beulich committed 2021-01-26 14:16:34 +01:00
1 parent d8099d94df
commit 8169f82049
17 files changed
+276 -39

No files matched your search

+2
View File
@@ -84,6 +84,8 @@ disabled at compile time:
* 16-bit x86 assembler, loader and compiler for qemu-traditional / rombios
(dev86 rpm or bin86 & bcc debs)
* Development install of liblzma for rombios
* Development install of libbz2, liblzma, liblzo2, and libzstd for DomU
kernel decompression.
Second, you need to acquire a suitable kernel for use in domain 0. If
possible you should use a kernel provided by your OS distributor. If
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.