diff options
author | William Wilgus <me.theuser@yahoo.com> | 2017-02-05 21:07:20 +0100 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2017-10-29 17:50:59 +0100 |
commit | 41869a6534400090ce61111aa79398513462b24f (patch) | |
tree | 08a69dfeaf7cb8cf9e64c903616240c43770df0c /firmware/target/arm | |
parent | 60e5cd72766ace0d35f2cf7a3d4798d8c2e848bd (diff) | |
download | rockbox-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.S | 9 |
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: | |||
165 | 1: | 169 | 1: |
166 | b 1b | 170 | b 1b |
167 | 171 | ||
172 | #if defined(HAVE_BOOTDATA) && !defined(BOOTLOADER) | ||
173 | /* boot data structure */ | ||
174 | put_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 */ |