diff mbox

[U-Boot,RFC,2/5] rockchip: boot0: align to 0x20 for armv7 '_start'

Message ID 1496227840-19007-3-git-send-email-kever.yang@rock-chips.com
State Changes Requested
Delegated to: Philipp Tomsich
Headers show

Commit Message

Kever Yang May 31, 2017, 10:50 a.m. UTC
The '_start' is using as vector table base address, and will write
to VBAR register, need to align to 0x20 for armv7.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

 arch/arm/include/asm/arch-rockchip/boot0.h | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Kever Yang June 13, 2017, 1:58 a.m. UTC | #1
Hi Philipp,


On 06/10/2017 02:47 AM, Philipp Tomsich wrote:
>
> On Wed, 31 May 2017, Kever Yang wrote:
>
>> The '_start' is using as vector table base address, and will write
>> to VBAR register, need to align to 0x20 for armv7.
>>
>> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
>> ---
>>
>> arch/arm/include/asm/arch-rockchip/boot0.h | 9 ++++++++-
>> 1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/include/asm/arch-rockchip/boot0.h 
>> b/arch/arm/include/asm/arch-rockchip/boot0.h
>> index 7346876..88f0ff6 100644
>> --- a/arch/arm/include/asm/arch-rockchip/boot0.h
>> +++ b/arch/arm/include/asm/arch-rockchip/boot0.h
>> @@ -13,10 +13,17 @@
>>  */
>>
>> #ifdef CONFIG_SPL_BUILD
>> -    .space 0x4         /* space for the 'RK33' */
>> +    .space 0x4         /* space for Rockchip SoC tag like 'RK33' */
>> #endif
>>     b reset
>>
>> +/* For armv7, the addr '_start' will used as vector start address
>> + * and write to VBAR register, which need to aligned to 0x20.
>> + */
>> +#ifdef CONFIG_CPU_V7
>> +    .align(5)
>> +#endif
>> +
>> #if defined(CONFIG_ROCKCHIP_RK3399) && defined(CONFIG_SPL_BUILD)
>>     .space CONFIG_ROCKCHIP_SPL_RESERVE_IRAM    /* space for the ATF 
>> data */
>> #endif
>>
>
> You'll need to adapt this for whatever fix we decide on for those
> platforms that need their boot0-hook after the vector-table (e.g.
> socfpga).

Thanks very much for your review and comments, I know we need fix other 
platforms
like socfpga, bcm and sunxi, that's why this patch set prefixed with 'RFC'.
It looks like the U-Boot mailing list is not very active and there is 
not response from
bcm or sunxi although I CCed the author who commit the patch for boot0-hook
in other platform, and Marek only replied with "you broke socfpga" 
without a solution.

Maybe I need to wait more time.

Thanks,
- Kever
>
> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
>
diff mbox

Patch

diff --git a/arch/arm/include/asm/arch-rockchip/boot0.h b/arch/arm/include/asm/arch-rockchip/boot0.h
index 7346876..88f0ff6 100644
--- a/arch/arm/include/asm/arch-rockchip/boot0.h
+++ b/arch/arm/include/asm/arch-rockchip/boot0.h
@@ -13,10 +13,17 @@ 
  */
 
 #ifdef CONFIG_SPL_BUILD
-	.space 0x4         /* space for the 'RK33' */
+	.space 0x4         /* space for Rockchip SoC tag like 'RK33' */
 #endif
 	b reset
 
+/* For armv7, the addr '_start' will used as vector start address
+ * and write to VBAR register, which need to aligned to 0x20.
+ */
+#ifdef CONFIG_CPU_V7
+	.align(5)
+#endif
+
 #if defined(CONFIG_ROCKCHIP_RK3399) && defined(CONFIG_SPL_BUILD)
 	.space CONFIG_ROCKCHIP_SPL_RESERVE_IRAM	/* space for the ATF data */
 #endif