Skip to content
  • Masahiro Yamada's avatar
    zlib: add gunzip() support · c43d6851
    Masahiro Yamada authored
    
    
    This commit adds some more files to use zlib from TF.
    
    To use zlib, ->zalloc and ->zfree hooks are needed.  The implementation
    depends on the system.  For user-space, the libc provides malloc() and
    friends.  Unfortunately, ARM Trusted Firmware does not provide malloc()
    or any concept of dynamic memory allocation.
    
    I implemented very simple calloc() and free() for this.  Stupidly,
    zfree() never frees memory, but it works enough for this.
    
    The purpose of using zlib is to implement gunzip() - this function
    takes compressed data from in_buf, then dumps the decompressed data
    to oub_buf.  The work_buf is used for memory allocation during the
    decompress.  Upon exit, it updates in_buf and out_buf.  If successful,
    in_buf points to the end of input data, out_buf to the end of the
    decompressed data.
    
    To use this feature, you need to do:
    
     - include lib/zlib/zlib.mk from your platform.mk
    
     - add $(ZLIB_SOURCES) to your BL*_SOURCES
    
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    c43d6851