
Marek,
On 13 Jun 2017, at 10:42, Marek Vasut marex@denx.de wrote:
On 06/13/2017 03:51 AM, Kever Yang wrote:
Hi Marek,
Hi,
On 06/07/2017 02:28 PM, Marek Vasut wrote:
On 06/07/2017 04:28 AM, Kever Yang wrote:
Hi Andre, Steve, Marek,
Could you help to check how to make it work with this patch on
sunxi, bcm and socfpga platform?
The socfpga expects the hook at that exact position (0x40 I think) , so if you moved it somewhere, you broke socfpga.
I know this break socfpga, and that's why I cc you for help, could you help the take a look if we can have a solution on socfpga to "make it work with this patch"?
Can you generate the same u-boot binary with this patch ? If so, then it will work on socfpga. SoCFPGA expects that small piece of stuff at offset 0x40 , so if you move this boot0 hook, it will break. HTH
So the SoCFPGA-implementation relies on the boot0 hook to always start at 0x40? Then this needs fixing anyway… or it will break once someone else touches the armv7 startup code.
That said, I read your comment to mean that the following changes would work for SoCFPGA: 1. arch/arm/lib/vectors.S: #if CONFIG_IS_ENABLED(BOOT0_HOOK) … pull in the boot0 hook, which needs to contain the vectors #else b reset … remaining vectors … #endif 2. boot0.h (for socfpga): b reset … remaining vectors … /* now at 0x40 */ … whatever currently lives in the boot0.h for socfpga ...
Ok?
Comments from Philipp[0] show that its reasonable for this patch set, I don't know how the boot0-hook works in socfpga and also sunxi and bcm, could you help me to fix the hook content upon this patch?
Thanks,
- Kever
[0]https://www.mail-archive.com/u-boot@lists.denx.de/msg252823.html
Thanks,
- Kever
On 05/31/2017 06:50 PM, Kever Yang wrote:
The boot0 hook suppose to add some data before the SPL data, let's move it at very begining and before '_start'.
Signed-off-by: Kever Yang kever.yang@rock-chips.com
arch/arm/lib/vectors.S | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/arch/arm/lib/vectors.S b/arch/arm/lib/vectors.S index f53b1e9..b4cd825 100644 --- a/arch/arm/lib/vectors.S +++ b/arch/arm/lib/vectors.S @@ -35,6 +35,16 @@ .section ".vectors", "ax" +#ifdef CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK +/*
- Various SoCs need something special and SoC-specific up front in
- order to boot, allow them to set that in their boot0.h file and
then
- use it here.
- */
+#include <asm/arch/boot0.h>
+#endif
- /*
@@ -60,15 +70,6 @@ _start: ldr pc, _irq ldr pc, _fiq -#ifdef CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK -/*
- Various SoCs need something special and SoC-specific up front in
- order to boot, allow them to set that in their boot0.h file and
then
- use it here.
- */
-#include <asm/arch/boot0.h> -#endif
- /*
-- Best regards, Marek Vasut