diff options
author | Philipp Tomsich <philipp.tomsich@theobroma-systems.com> | 2017-03-15 12:08:45 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2017-04-04 20:01:57 -0600 |
commit | 308277569229137e38420dbaa1190ef1f9d4be76 (patch) | |
tree | cebca18e9ea588190109087b148a215e21fd9570 /tools/rkcommon.h | |
parent | 3d54eabcafec9c232751dc717eabad4a18c0dd86 (diff) |
rockchip: mkimage: update rkimage to support pre-padded payloads
To simplify the creation of AArch64 SPL images for the RK3399, we
use the ENABLE_ARM_SOC_BOOT0_HOOK option and prepend 4 bytes of
padding at the start of the text section. This makes it easy for
mkimage to rewrite this word with the 'RK33' boot magic.
This change brings logic to calculate the header size and allocate
the header back in sync. For the RK3399 we now limit the header to
before the payload (i.e. the 'header0' and the padding up to the
actual image) and overwrite the first word (inserted by the
boot0-hook for this purpose) with the 'RK33' magic in-place.
X-AffectedPlatforms: RK3399-Q7
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Diffstat (limited to 'tools/rkcommon.h')
-rw-r--r-- | tools/rkcommon.h | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/tools/rkcommon.h b/tools/rkcommon.h index 3d645168c26..cc161a647ca 100644 --- a/tools/rkcommon.h +++ b/tools/rkcommon.h @@ -34,19 +34,6 @@ int rkcommon_check_params(struct image_tool_params *params); const char *rkcommon_get_spl_hdr(struct image_tool_params *params); /** - * rkcommon_get_spl_hdr_padto8() - check if we need to pad to 8 bytes - * - * Rockchip's bootrom starts execution right after the SPL header (i.e. - * at offset 4), but we can not reasonably align the test section of - * an AArch64 SPL at 4 bytes (as this would break natural alignment - * and any embedded constants might cause an alignment exception, which - * is illegal in privileged modes). - * - * Padding is (for now) assumed to occur with a single AArch64 'nop'. - */ -const bool rkcommon_get_spl_hdr_padto8(struct image_tool_params *params); - -/** * rkcommon_get_spl_size() - get spl size for a Rockchip boot image * * Different chip may have different sram size. And if we want to jump |