Hi, zstd has been enabled in kernel btrfs driver for over a year, it is time we support this also in U-Boot.
This xxhash and zstd library are imported from kernel with minimal changes. This was tested on ARM target (Turris Omnia). Marek Marek Behún (3): lib: Add xxhash support lib: add Zstandard decompression support fs: btrfs: add zstd decompression support fs/btrfs/Kconfig | 1 + fs/btrfs/btrfs_tree.h | 5 +- fs/btrfs/compression.c | 59 + include/linux/xxhash.h | 259 ++++ include/linux/zstd.h | 1157 +++++++++++++++++ lib/Kconfig | 15 + lib/Makefile | 2 + lib/xxhash.c | 497 ++++++++ lib/zstd/Makefile | 4 + lib/zstd/bitstream.h | 374 ++++++ lib/zstd/decompress.c | 2525 +++++++++++++++++++++++++++++++++++++ lib/zstd/entropy_common.c | 243 ++++ lib/zstd/error_private.h | 53 + lib/zstd/fse.h | 575 +++++++++ lib/zstd/fse_decompress.c | 332 +++++ lib/zstd/huf.h | 212 ++++ lib/zstd/huf_decompress.c | 960 ++++++++++++++ lib/zstd/mem.h | 152 +++ lib/zstd/zstd_common.c | 75 ++ lib/zstd/zstd_internal.h | 263 ++++ lib/zstd/zstd_opt.h | 1014 +++++++++++++++ 21 files changed, 8775 insertions(+), 2 deletions(-) create mode 100644 include/linux/xxhash.h create mode 100644 include/linux/zstd.h create mode 100644 lib/xxhash.c create mode 100644 lib/zstd/Makefile create mode 100644 lib/zstd/bitstream.h create mode 100644 lib/zstd/decompress.c create mode 100644 lib/zstd/entropy_common.c create mode 100644 lib/zstd/error_private.h create mode 100644 lib/zstd/fse.h create mode 100644 lib/zstd/fse_decompress.c create mode 100644 lib/zstd/huf.h create mode 100644 lib/zstd/huf_decompress.c create mode 100644 lib/zstd/mem.h create mode 100644 lib/zstd/zstd_common.c create mode 100644 lib/zstd/zstd_internal.h create mode 100644 lib/zstd/zstd_opt.h -- 2.21.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot