test: spl: Add a test for the NOR load method
Add a test for the NOR load method. Since NOR is memory-mapped we can
substitute a buffer instead. The only major complication is testing LZMA
decompression. It's too complex to implement LZMA compression in a test, and we
have no in-tree compressor, so we just include some pre-compressed data. This
data was generated through something like
generate_data(plain, plain_size, "lzma")
cat plain.dat | lzma | hexdump -C
and was cleaned up further in my editor.
Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/include/test/spl.h b/include/test/spl.h
index 009c6b3..c1f6465 100644
--- a/include/test/spl.h
+++ b/include/test/spl.h
@@ -27,12 +27,14 @@
/**
* enum spl_test_image - Image types for testing
* @LEGACY: "Legacy" uImages
+ * @LEGACY_LZMA: "Legacy" uImages, LZMA compressed
* @IMX8: i.MX8 Container images
* @FIT_INTERNAL: FITs with internal data
* @FIT_EXTERNAL: FITs with external data
*/
enum spl_test_image {
LEGACY,
+ LEGACY_LZMA,
IMX8,
FIT_INTERNAL,
FIT_EXTERNAL,
@@ -118,6 +120,9 @@
static inline bool image_supported(enum spl_test_image type)
{
switch (type) {
+ case LEGACY_LZMA:
+ if (!IS_ENABLED(CONFIG_SPL_LZMA))
+ return false;
case LEGACY:
return IS_ENABLED(CONFIG_SPL_LEGACY_IMAGE_FORMAT);
case IMX8: