mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-21 12:04:27 +00:00

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: Masahiro Yamada <yamada.masahiro@socionext.com>
25 lines
549 B
Makefile
25 lines
549 B
Makefile
#
|
|
# Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
ZLIB_PATH := lib/zlib
|
|
|
|
# Imported from zlib 1.2.11 (do not modify them)
|
|
ZLIB_SOURCES := $(addprefix $(ZLIB_PATH)/, \
|
|
adler32.c \
|
|
crc32.c \
|
|
inffast.c \
|
|
inflate.c \
|
|
inftrees.c \
|
|
zutil.c)
|
|
|
|
# Implemented for TF
|
|
ZLIB_SOURCES += $(addprefix $(ZLIB_PATH)/, \
|
|
tf_gunzip.c)
|
|
|
|
INCLUDES += -Iinclude/lib/zlib
|
|
|
|
# REVISIT: the following flags need not be given globally
|
|
TF_CFLAGS += -DZ_SOLO -DDEF_WBITS=31
|