History log of /rk3399_rockchip-uboot/lib/gunzip.c (Results 1 – 25 of 27)
Revision Date Author Comments
# bb351757 25-Nov-2021 Joseph Chen <chenjh@rock-chips.com>

lib: gunzip: use aysnc for hw decompress

It saves boot time.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Id968368927c2b6dc6e4e110cc360f597fee7f2fb


# 9e67e3dd 02-Aug-2021 Joseph Chen <chenjh@rock-chips.com>

common: image/gunzip: sync with new API param

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ie83e281a65af2a141cf67f4ed08d6107a733c27a


# f7a20b12 30-Jun-2020 Joseph Chen <chenjh@rock-chips.com>

lib: gunzip: add hw gunzip support

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I52b6d090fdc7d535a4b0804826f5669c068464dc


# bcf5a32a 07-Oct-2018 Joseph Chen <chenjh@rock-chips.com>

lib: gzip: lower the message when parse header

Change-Id: Iedd2cbefac99fb17256770dc334741b9e760c449
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>


# 19471261 15-Sep-2017 Jean-Jacques Hiblot <jjhiblot@ti.com>

UPSTREAM: gzip: add a function to parse the header

Change-Id: I9829ad25a955eb4764ae2e66f1c32751703d9ae6
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com

UPSTREAM: gzip: add a function to parse the header

Change-Id: I9829ad25a955eb4764ae2e66f1c32751703d9ae6
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 376ddf9d4a21d0af4c70e97c52e5f0854fb2d696)

show more ...


# d025021e 29-Aug-2016 Clemens Gruber <clemens.gruber@pqgruber.com>

gunzip: cache-align write buffer memory

When using gzwrite to eMMC on an i.MX6Q board, the following warning
occurs repeatedly:
CACHE: Misaligned operation at range [4fd63318, 4fe63318]

This patch

gunzip: cache-align write buffer memory

When using gzwrite to eMMC on an i.MX6Q board, the following warning
occurs repeatedly:
CACHE: Misaligned operation at range [4fd63318, 4fe63318]

This patch cache-aligns the memory allocation for the gzwrite writebuf,
therefore avoiding the misaligned dcache flush and the warning from
check_cache_range.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Reviewed-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Stefan Agner <stefan.agner@toradex.com>

show more ...


# 6a3bf3e5 11-Apr-2016 Eric Nelson <eric@nelint.com>

gunzip.c: use block layer for writes

Call blk_dwrite to ensure that the block cache is notified
if enabled and remove build breakage when CONFIG_BLK is enabled.

Signed-off-by: Eric Nelson <eric@nel

gunzip.c: use block layer for writes

Call blk_dwrite to ensure that the block cache is notified
if enabled and remove build breakage when CONFIG_BLK is enabled.

Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>

show more ...


# 88033d73 14-Mar-2016 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-dm


# 4101f687 29-Feb-2016 Simon Glass <sjg@chromium.org>

dm: Drop the block_dev_desc_t typedef

Use 'struct' instead of a typdef. Also since 'struct block_dev_desc' is long
and causes 80-column violations, rename it to struct blk_desc.

Signed-off-by: Simo

dm: Drop the block_dev_desc_t typedef

Use 'struct' instead of a typdef. Also since 'struct block_dev_desc' is long
and causes 80-column violations, rename it to struct blk_desc.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>

show more ...


# 19346657 29-Jan-2016 Stephen Warren <swarren@nvidia.com>

gunzip: remove avail_in recalculation

Current, the following passes:
./u-boot -d arch/sandbox/dts/test.dtb -c 'ut_image_decomp'
but the following fails:
./u-boot -d arch/sandbox/dts/test.dtb

gunzip: remove avail_in recalculation

Current, the following passes:
./u-boot -d arch/sandbox/dts/test.dtb -c 'ut_image_decomp'
but the following fails:
./u-boot -d arch/sandbox/dts/test.dtb -c 'ut dm; ut_image_decomp'

This is because the gunzip code reads input data beyond the end of its
input buffer. In the first case above, this data just happens to be 0,
which just happens to trigger gzip to signal the error the decompression
unit test expects. In the second case above, the "ut dm" test has written
data to the accidentally-read memory, which causes the gzip code to take a
different path and so return a different value, which triggers the test
failure.

The cause of gunzip reading past its input buffer is the re-calculation of
s.avail_in in zunzip(), since it can underflow. Not only is the formula
non-sensical (it uses the delta between two output buffer pointers to
calculate available input buffer size), it also appears to be unnecessary,
since the gunzip code already maintains this value itself. This patch
removes this re-calculation to avoid the underflow and redundant work.

The loop exit condition is also adjusted so that if inflate() has consumed
the entire input buffer, without indicating returning Z_STREAM_END (i.e.
decompression complete without error), an error is raised. There is still
opportunity to simplify the code here by splitting up the loop exit
condition into separate tests. However, this patch makes the minimum
modifications required to solve the problem at hand, in order to keep the
Acked-by: Kees Cook <keescook@chromium.org>

diff simple.

I am not entirely convinced that the loop in zunzip() is necessary at all.
It could only be useful if inflate() can return Z_BUF_ERROR (which
typically means that it needs more data in the input buffer, or more space
in the output buffer), even though Z_FINISH is set /and/ the full input is
available in the input buffer /and/ there is enough space to store the
decompressed output in the output buffer. The comment in zlib.h after the
prototype of inflate() implies this is never the case. However, I assume
there must have been some reason for introducing this loop in the first
place, as part of commit "Fix gunzip to work for any gziped uImage size".

This patch is similar to the earlier b75650d84d4b "gzip: correctly
bounds-check output buffer", which corrected a similar issue for
s.avail_out.

Cc: Catalin Radu <Catalin@VirtualMetrix.com>
Cc: Kees Cook <keescook@chromium.org>
Fixes: f039ada5c109 ("Fix gunzip to work for any gziped uImage size")
Signed-off-by: Stephen Warren <swarren@nvidia.com>

show more ...


# 1811b7d3 14-Jan-2016 Tom Rini <trini@konsulko.com>

gunzip.c: Only include gzwrite on CONFIG_CMD_UNZIP

Only when we have CONFIG_CMD_UNZIP enabled do we have the 'gzwrite'
command. While this command should be separated from CONFIG_CMD_UNZIP
we shoul

gunzip.c: Only include gzwrite on CONFIG_CMD_UNZIP

Only when we have CONFIG_CMD_UNZIP enabled do we have the 'gzwrite'
command. While this command should be separated from CONFIG_CMD_UNZIP
we should also only include the write portion of the gz code in that
case as well.

Signed-off-by: Tom Rini <trini@konsulko.com>

show more ...


# 7c4213f6 07-Dec-2015 Stephen Warren <swarren@nvidia.com>

block: pass block dev not num to read/write/erase()

This will allow the implementation to make use of data in the block_dev
structure beyond the base device number. This will be useful so that eMMC

block: pass block dev not num to read/write/erase()

This will allow the implementation to make use of data in the block_dev
structure beyond the base device number. This will be useful so that eMMC
block devices can encompass the HW partition ID rather than treating this
out-of-band. Equally, the existence of the priv field is crying out for
this patch to exist.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>

show more ...


# 24b852a7 09-Nov-2015 Simon Glass <sjg@chromium.org>

Move console definitions into a new console.h file

The console includes a global variable and several functions that are only
used by a small subset of U-Boot files. Before adding more functions, mo

Move console definitions into a new console.h file

The console includes a global variable and several functions that are only
used by a small subset of U-Boot files. Before adding more functions, move
the definitions into their own header file.

Signed-off-by: Simon Glass <sjg@chromium.org>

show more ...


# b939689c 05-May-2015 Albert ARIBAUD <albert.u.boot@aribaud.net>

Merge branch 'u-boot/master' into 'u-boot-arm/master'


# 918e9ebb 17-Feb-2015 Eric Nelson <eric.nelson@boundarydevices.com>

gunzip: add gzwrite routine for extracting compresed images to block device

Initial filesystem images are generally highly compressible.

Add a routine gzwrite that allows gzip-compressed images to

gunzip: add gzwrite routine for extracting compresed images to block device

Initial filesystem images are generally highly compressible.

Add a routine gzwrite that allows gzip-compressed images to be
written to block devices.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Reviewed-by: Tom Rini <trini@ti.com>

show more ...


# 9c55c54f 02-Dec-2014 Simon Glass <sjg@chromium.org>

gunzip: Update lenp even on error

This allows the caller to easily detect how much of the destination buffer
has been used.

Signed-off-by: Simon Glass <sjg@chromium.org>


# c4a7ece0 13-Sep-2013 Stefano Babic <sbabic@denx.de>

Merge branch 'master' of git://git.denx.de/u-boot-arm

Conflicts:
MAINTAINERS
boards.cfg

Signed-off-by: Stefano Babic <sbabic@denx.de>


# b75650d8 16-Aug-2013 Kees Cook <keescook@chromium.org>

gzip: correctly bounds-check output buffer

The output buffer size must not be reset by the gzip decoder or there
is a risk of overflowing memory during decompression.

Signed-off-by: Kees Cook <kees

gzip: correctly bounds-check output buffer

The output buffer size must not be reset by the gzip decoder or there
is a risk of overflowing memory during decompression.

Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>

show more ...


# 326ea986 31-Jul-2013 Stefano Babic <sbabic@denx.de>

Merge git://git.denx.de/u-boot-arm

Conflicts:
board/freescale/mx6qsabrelite/Makefile
board/freescale/mx6qsabrelite/mx6qsabrelite.c
include/configs/mx6qsabrelite.h

Signed-off-by: Stefano Babic <s

Merge git://git.denx.de/u-boot-arm

Conflicts:
board/freescale/mx6qsabrelite/Makefile
board/freescale/mx6qsabrelite/mx6qsabrelite.c
include/configs/mx6qsabrelite.h

Signed-off-by: Stefano Babic <sbabic@denx.de>

show more ...


# 8b485ba1 25-Jul-2013 Albert ARIBAUD <albert.u.boot@aribaud.net>

Merge branch 'u-boot/master' into u-boot-arm/master


# 1a459660 08-Jul-2013 Wolfgang Denk <wd@denx.de>

Add GPL-2.0+ SPDX-License-Identifier to source files

Signed-off-by: Wolfgang Denk <wd@denx.de>
[trini: Fixup common/cmd_io.c]
Signed-off-by: Tom Rini <trini@ti.com>


# 0a6deb32 30-Apr-2012 Wolfgang Denk <wd@denx.de>

Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging

* 'agust@denx.de' of git://git.denx.de/u-boot-staging:
lin_gadget: use common linux/compat.h
linux/compat.h: rename from linux/mt

Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging

* 'agust@denx.de' of git://git.denx.de/u-boot-staging:
lin_gadget: use common linux/compat.h
linux/compat.h: rename from linux/mtd/compat.h
lin_gadget: use common mdelay
gunzip: rename z{alloc, free} to gz{alloc, free}
fs/fat: align disk buffers on cache line to enable DMA and cache
part_dos: align disk buffers on cache line to enable DMA and cache

show more ...


# e3ed0575 09-Apr-2012 Mike Frysinger <vapier@gentoo.org>

gunzip: rename z{alloc, free} to gz{alloc, free}

This allows us to add a proper zalloc() func (one that does a zeroing
alloc), and removes duplicate prototypes.

Signed-off-by: Mike Frysinger <vapie

gunzip: rename z{alloc, free} to gz{alloc, free}

This allows us to add a proper zalloc() func (one that does a zeroing
alloc), and removes duplicate prototypes.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>

show more ...


# f039ada5 04-Feb-2011 Catalin Radu <Catalin@VirtualMetrix.com>

Fix gunzip to work for any gziped uImage size

Signed-off-by: Catalin Radu <Catalin@VirtualMetrix.com>


# f8526286 08-Sep-2010 Stefan Roese <sr@denx.de>

zlib/gunzip: Use WATCHDOG_RESET macro

As usually done in U-Boot, the watchdog_reset code is called via a
macro (WATCHDOG_RESET). In zlib.c this was done differently, by using
a function pointer whic

zlib/gunzip: Use WATCHDOG_RESET macro

As usually done in U-Boot, the watchdog_reset code is called via a
macro (WATCHDOG_RESET). In zlib.c this was done differently, by using
a function pointer which is initialized with WATCHDOG_RESET upon watchdog
usage or with NULL otherwise. This patch now uses the plain
WATCHDOG_RESET macros to call the function resulting in slightly smaller
U-Boot images and simpler code.

U-Boot code size reduction:

PowerPC board with watchdog support (lwmon5):
-> 80 bytes smaller image size

PowerPC board without watchdog support (sequoia):
-> 112 bytes smaller image size

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>

show more ...


12