Message ID | 1496227840-19007-3-git-send-email-kever.yang@rock-chips.com |
---|---|
State | Changes Requested |
Delegated to: | Philipp Tomsich |
Headers | show |
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 --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
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(-)