diff options
author | Andre Przywara <andre.przywara@arm.com> | 2016-05-31 10:45:06 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-06-06 13:39:19 -0400 |
commit | cdaa633fcf9c2bd54aa3c130ee727708a4e2406a (patch) | |
tree | 0dbf826c4c9895e839d107e4b9548ee0a5fd559b /configs | |
parent | be86492bdaeb8fdfd8d66bba79a9bd899531b8b0 (diff) | |
download | u-boot-imx-cdaa633fcf9c2bd54aa3c130ee727708a4e2406a.zip u-boot-imx-cdaa633fcf9c2bd54aa3c130ee727708a4e2406a.tar.gz u-boot-imx-cdaa633fcf9c2bd54aa3c130ee727708a4e2406a.tar.bz2 |
arm/arm64: implement a boot header capability
Some SPL loaders (like Allwinner's boot0, and Broadcom's boot0)
require a header before the actual U-Boot binary to both check its
validity and to find other data to load. Sometimes this header may
only be a few bytes of information, and sometimes this might simply
be space that needs to be reserved for a post-processing tool.
Introduce a config option to allow assembler preprocessor commands
to be inserted into the code at the appropriate location; typical
assembler preprocessor commands might be:
.space 1000
.word 0x12345678
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Steve Rae <srae@broadcom.com>
Commit Notes:
Please note that the current code:
start.S (arm64) and
vectors.S (arm)
already jumps over some portion of data already, so this option basically
just increases the size of this region (and the resulting binary).
For use with Allwinner's boot0 blob there is a tool called boot0img[1],
which fills the header to allow booting A64 based boards.
For the Pine64 we need a 1536 byte header (including the branch
instruction) at the moment, so we add this to the defconfig.
[1] https://github.com/apritzel/pine64/tree/master/tools
END
Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'configs')
-rw-r--r-- | configs/bcm28155_ap_defconfig | 1 | ||||
-rw-r--r-- | configs/bcm28155_w1d_defconfig | 1 | ||||
-rw-r--r-- | configs/pine64_plus_defconfig | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig index bfd519e..4404f32 100644 --- a/configs/bcm28155_ap_defconfig +++ b/configs/bcm28155_ap_defconfig @@ -22,3 +22,4 @@ CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" CONFIG_G_DNL_VENDOR_NUM=0x18d1 CONFIG_G_DNL_PRODUCT_NUM=0x0d02 CONFIG_OF_LIBFDT=y +CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y diff --git a/configs/bcm28155_w1d_defconfig b/configs/bcm28155_w1d_defconfig index 1911122..60eb328 100644 --- a/configs/bcm28155_w1d_defconfig +++ b/configs/bcm28155_w1d_defconfig @@ -22,3 +22,4 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" CONFIG_G_DNL_VENDOR_NUM=0x18d1 CONFIG_G_DNL_PRODUCT_NUM=0x0d02 +CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y diff --git a/configs/pine64_plus_defconfig b/configs/pine64_plus_defconfig index 489b75c..0bf79bf 100644 --- a/configs/pine64_plus_defconfig +++ b/configs/pine64_plus_defconfig @@ -9,3 +9,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pine64-plus" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set +CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y |