u-boot-brain/lib
Eugeniu Rosca 829ceb2821 image: android: allow booting lz4-compressed kernels
According to Android image format [1], kernel image resides at 1 page
offset from the boot image address. Grab the magic number from there
and allow U-Boot to handle LZ4-compressed KNL binaries instead of
hardcoding compression type to IH_COMP_NONE. Other compression types,
if needed, can be added later.

Tested on H3ULCB-KF using the image detailed in [2].

[1] Excerpt from include/android_image.h
    +-----------------+
    | boot header     | 1 page
    +-----------------+
    | kernel          | n pages
    +-----------------+
    | ramdisk         | m pages
    +-----------------+
    | second stage    | o pages
    +-----------------+

[2] => iminfo 4c000000
    ## Checking Image at 4c000000 ...
    Android image found
    kernel size:      85b9d1
    kernel address:   48080000
    ramdisk size:     54ddbc
    ramdisk addrress: 4a180000
    second size:      0
    second address:   48000800
    tags address:     48000100
    page size:        800
    os_version:       1200012a (ver: 0.9.0, level: 2018.10)
    name:
    cmdline:          buildvariant=userdebug

Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
2019-04-24 07:27:32 -04:00
..
at91 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bzip2 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dhry SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
efi efi_loader: typedef struct efi_object *efi_handle_t 2018-12-02 21:59:36 +01:00
efi_driver efi_loader: move efi_save_gd() call to board_r.c 2019-04-12 22:00:42 +02:00
efi_loader efi_loader: simplify protocol installation 2019-04-12 22:00:42 +02:00
efi_selftest efi_selftest: expect boot services data for fdt 2019-04-12 22:09:09 +02:00
libavb libavb: Handle wrong hashtree_error_mode in avb_append_options() 2018-08-24 13:19:53 -04:00
libfdt libfdt: Add phandle generation helper 2019-04-11 20:10:50 -06:00
lzma SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lzo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
optee optee: adjust dependencies and default values for dram 2018-10-22 14:37:28 +02:00
rsa rsa: check that pointer checksum isn't NULL before using it 2019-03-25 11:44:12 -04:00
tizen SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zlib SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig fdtdec: Add Kconfig symbol for tests 2019-04-11 20:10:50 -06:00
Makefile initcall: Move to inline function 2019-02-09 07:50:58 -05:00
addr_map.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
aes.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
asm-offsets.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bch.c fix compile error on macOS Mojave 2019-04-03 10:26:46 -04:00
bitrev.c lib: bitrev: Sync with Linux kernel v4.17 2018-09-18 00:01:18 -06:00
charset.c lib: add u16_strcpy/strdup functions 2019-02-13 09:40:05 +01:00
circbuf.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc7.c lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
crc8.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc16.c Roll CRC16-CCITT into the hash infrastructure 2018-12-08 20:18:44 -05:00
crc32.c lib: crc32: mark static variable as __efi_runtime_data 2018-12-23 02:39:52 +01:00
crc32c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ctype.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
display_options.c lib: Allow using display_buffer() in SPL 2019-02-01 16:59:11 +01:00
div64.c lib: div64: sync with Linux 2017-04-13 09:41:10 -04:00
errno.c Add basic errno support. 2010-09-19 19:29:47 +02:00
errno_str.c lib: errno: introduce errno_str(): returns errno related message 2014-12-11 13:18:41 -07:00
fdtdec.c Merge branch 'master' of git://git.denx.de/u-boot-spi 2019-04-14 00:03:06 -04:00
fdtdec_common.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fdtdec_test.c fdtdec: test: Add carveout tests 2019-04-11 20:10:50 -06:00
gunzip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gzip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
hang.c serial: Allow serial to be absent in TPL 2018-10-09 04:40:27 -06:00
hashtable.c hashtable: fix environment variable corruption 2019-02-09 07:50:54 -05:00
hexdump.c lib: Add hexdump 2018-06-13 07:49:12 -04:00
image-sparse.c mmc: Separate "mmc swrite" from fastboot 2018-05-30 11:59:21 +02:00
ldiv.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
linux_compat.c Make kmalloc'ed memory really DMA-safe 2018-08-31 11:59:44 -04:00
linux_string.c Make linux kernel string funcs available to tools 2012-12-13 11:46:07 -07:00
list_sort.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
lmb.c lmb: handle more than one DRAM BANK 2019-02-02 08:19:17 -05:00
lz4.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
lz4_wrapper.c image: android: allow booting lz4-compressed kernels 2019-04-24 07:27:32 -04:00
md5.c GCC47: Fix warning in md5.c 2012-04-29 14:14:08 +02:00
membuff.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
net_utils.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
of_live.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
panic.c Consolidate __assert_failed into one implementation 2018-04-28 18:32:23 -04:00
physmem.c sandbox: physmem: Use mapping to support sandbox 2018-12-05 06:01:34 -07:00
qsort.c Include common.h in qsort.c to fix build warning 2011-12-07 08:39:54 +01:00
rand.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rbtree.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rc4.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha1.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha256.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
slre.c lib/slre: remove superfluous assignment 2018-09-05 16:02:34 -04:00
smbios.c sandbox: smbios: Update to support sandbox 2018-12-02 21:59:37 +01:00
string.c string: Include the config header 2018-11-20 19:14:22 -07:00
strmhz.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
strto.c lib: strto: fix metric suffix parsing in strtoul[l] 2018-09-20 20:11:01 +05:30
tables_csum.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
time.c lib: time: update module enable MACRO 2019-03-29 10:53:18 -04:00
tiny-printf.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tpm-common.c tpm: Fix a logging warning in unpack_byte_string() 2018-12-05 06:01:34 -07:00
tpm-utils.h tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
tpm-v1.c tpm: simplify: tpm_set_global_lock() 2019-02-19 08:55:43 -05:00
tpm-v2.c tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
trace.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
uuid.c lib: uuid: Do not enable UUID command SPL 2019-01-15 15:28:45 -05:00
vsprintf.c vsprintf: Support phys_addr_t specifier unconditionally 2019-04-11 20:10:05 -06:00