summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
authorWilliam Wilgus <me.theuser@yahoo.com>2017-02-05 21:07:20 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2017-10-29 17:50:59 +0100
commit41869a6534400090ce61111aa79398513462b24f (patch)
tree08a69dfeaf7cb8cf9e64c903616240c43770df0c /firmware/target/arm
parent60e5cd72766ace0d35f2cf7a3d4798d8c2e848bd (diff)
downloadrockbox-41869a6534400090ce61111aa79398513462b24f.tar.gz
rockbox-41869a6534400090ce61111aa79398513462b24f.zip
Add boot data support to rockbox.
Bootdata is a special location in the Firmware marked by a magic header The bootloader is able to copy information to the firmware by locating this struct and passing data to the firmware when it is loaded but before it is actually executed Data is verified by a crc of the bootdata Change-Id: Ib3d78cc0c3a9d47d6fe73be4747a11b7ad6f0a9e
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/imx233/crt0.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/crt0.S b/firmware/target/arm/imx233/crt0.S
index 5e1720c7c9..8db8400dbf 100644
--- a/firmware/target/arm/imx233/crt0.S
+++ b/firmware/target/arm/imx233/crt0.S
@@ -21,6 +21,10 @@
21#include "config.h" 21#include "config.h"
22#include "cpu.h" 22#include "cpu.h"
23 23
24#if defined(HAVE_BOOTDATA) && !defined(BOOTLOADER)
25#include "bootdata.h"
26#endif
27
24.section .vectors,"ax",%progbits 28.section .vectors,"ax",%progbits
25.code 32 29.code 32
26 /* most handlers are in DRAM which is too far away for a relative jump */ 30 /* most handlers are in DRAM which is too far away for a relative jump */
@@ -165,6 +169,11 @@ remap:
1651: 1691:
166 b 1b 170 b 1b
167 171
172#if defined(HAVE_BOOTDATA) && !defined(BOOTLOADER)
173/* boot data structure */
174put_boot_data_here
175#endif
176
168/* Cache-align interrupt stacks */ 177/* Cache-align interrupt stacks */
169 .balign 32 178 .balign 32
170/* 256 words of IRQ stack */ 179/* 256 words of IRQ stack */