| #
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 ...
|