Message ID | 20200109163013.601223-1-gregory.clement@bootlin.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] ARM: at91: Enable SPL_SEPARATE_BSS by default | expand |
On 09.01.20 17:30, Gregory CLEMENT wrote: > According to the linker script for both armv7 and arm926ejs based SoC, > BSS section was all the time separated for SPL but this symbol was > only enabled on some boards. However, it is necessary to have it > enabled for OF_SEPARATE configuration where DTB is appended to u-boot > with DTB. > > Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com> > --- > arch/arm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index f9dab073ea..e558024652 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -492,6 +492,7 @@ choice > config ARCH_AT91 > bool "Atmel AT91" > select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB > + select SPL_SEPARATE_BSS if SPL > > config TARGET_EDB93XX > bool "Support edb93xx" > Reviewed-by: Stefan Roese <sr at denx.de> Thanks, Stefan
On 10.01.2020 08:32, Stefan Roese wrote: > On 09.01.20 17:30, Gregory CLEMENT wrote: >> According to the linker script for both armv7 and arm926ejs based SoC, >> BSS section was all the time separated for SPL but this symbol was >> only enabled on some boards. However, it is necessary to have it >> enabled for OF_SEPARATE configuration where DTB is appended to u-boot >> with DTB. >> >> Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com> >> --- >> arch/arm/Kconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> index f9dab073ea..e558024652 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -492,6 +492,7 @@ choice >> config ARCH_AT91 >> bool "Atmel AT91" >> select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB >> + select SPL_SEPARATE_BSS if SPL >> >> config TARGET_EDB93XX >> bool "Support edb93xx" >> > > Reviewed-by: Stefan Roese <sr at denx.de> > > Thanks, > Stefan > Hi, With these changes, for all the A5 boards , SEPARATE_BSS was already enabled, but for the rest of the platforms, it was not. As I see from the linker script, the BSS area is configured into DRAM area. Is there any chance that we have accesses to this section before the DRAM is initialized on these platforms ? Could cause the boards to hang. Eugen
Hi Eugen, > On 10.01.2020 08:32, Stefan Roese wrote: > >> On 09.01.20 17:30, Gregory CLEMENT wrote: >>> According to the linker script for both armv7 and arm926ejs based SoC, >>> BSS section was all the time separated for SPL but this symbol was >>> only enabled on some boards. However, it is necessary to have it >>> enabled for OF_SEPARATE configuration where DTB is appended to u-boot >>> with DTB. >>> >>> Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com> >>> --- >>> ? arch/arm/Kconfig | 1 + >>> ? 1 file changed, 1 insertion(+) >>> >>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>> index f9dab073ea..e558024652 100644 >>> --- a/arch/arm/Kconfig >>> +++ b/arch/arm/Kconfig >>> @@ -492,6 +492,7 @@ choice >>> ? config ARCH_AT91 >>> ????? bool "Atmel AT91" >>> ????? select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB >>> +???? select SPL_SEPARATE_BSS if SPL >>> >>> ? config TARGET_EDB93XX >>> ????? bool "Support edb93xx" >>> >> >> Reviewed-by: Stefan Roese <sr at denx.de> >> >> Thanks, >> Stefan >> > > Hi, > > With these changes, for all the A5 boards , SEPARATE_BSS was already > enabled, but for the rest of the platforms, it was not. > As I see from the linker script, the BSS area is configured into DRAM area. > Is there any chance that we have accesses to this section before the > DRAM is initialized on these platforms ? Could cause the boards to > hang. It is explicitly stated that it BSS is not available before setting up the DRAM: it is forbidden to use global/static variables. So it should be OK. Gregory > > Eugen
On 05.06.2020 10:49, Gregory CLEMENT wrote: > Hi Eugen, > >> On 10.01.2020 08:32, Stefan Roese wrote: >> >>> On 09.01.20 17:30, Gregory CLEMENT wrote: >>>> According to the linker script for both armv7 and arm926ejs based SoC, >>>> BSS section was all the time separated for SPL but this symbol was >>>> only enabled on some boards. However, it is necessary to have it >>>> enabled for OF_SEPARATE configuration where DTB is appended to u-boot >>>> with DTB. >>>> >>>> Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com> >>>> --- >>>> arch/arm/Kconfig | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>>> index f9dab073ea..e558024652 100644 >>>> --- a/arch/arm/Kconfig >>>> +++ b/arch/arm/Kconfig >>>> @@ -492,6 +492,7 @@ choice >>>> config ARCH_AT91 >>>> bool "Atmel AT91" >>>> select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB >>>> + select SPL_SEPARATE_BSS if SPL >>>> >>>> config TARGET_EDB93XX >>>> bool "Support edb93xx" >>>> >>> >>> Reviewed-by: Stefan Roese <sr at denx.de> >>> >>> Thanks, >>> Stefan >>> >> >> Hi, >> >> With these changes, for all the A5 boards , SEPARATE_BSS was already >> enabled, but for the rest of the platforms, it was not. >> As I see from the linker script, the BSS area is configured into DRAM area. >> Is there any chance that we have accesses to this section before the >> DRAM is initialized on these platforms ? Could cause the boards to >> hang. > > It is explicitly stated that it BSS is not available before setting up > the DRAM: it is forbidden to use global/static variables. So it should > be OK. > Thanks for the clarification. Will queue the patches for next merge window. Eugen > Gregory > >> >> Eugen > > -- > Gregory Clement, Bootlin > Embedded Linux and Kernel engineering > http://bootlin.com >
Hi Eugen, > On 05.06.2020 10:49, Gregory CLEMENT wrote: >> Hi Eugen, >> >>> On 10.01.2020 08:32, Stefan Roese wrote: >>> >>>> On 09.01.20 17:30, Gregory CLEMENT wrote: >>>>> According to the linker script for both armv7 and arm926ejs based SoC, >>>>> BSS section was all the time separated for SPL but this symbol was >>>>> only enabled on some boards. However, it is necessary to have it >>>>> enabled for OF_SEPARATE configuration where DTB is appended to u-boot >>>>> with DTB. >>>>> >>>>> Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com> >>>>> --- >>>>> arch/arm/Kconfig | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>>>> index f9dab073ea..e558024652 100644 >>>>> --- a/arch/arm/Kconfig >>>>> +++ b/arch/arm/Kconfig >>>>> @@ -492,6 +492,7 @@ choice >>>>> config ARCH_AT91 >>>>> bool "Atmel AT91" >>>>> select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB >>>>> + select SPL_SEPARATE_BSS if SPL >>>>> >>>>> config TARGET_EDB93XX >>>>> bool "Support edb93xx" >>>>> >>>> >>>> Reviewed-by: Stefan Roese <sr at denx.de> >>>> >>>> Thanks, >>>> Stefan >>>> >>> >>> Hi, >>> >>> With these changes, for all the A5 boards , SEPARATE_BSS was already >>> enabled, but for the rest of the platforms, it was not. >>> As I see from the linker script, the BSS area is configured into DRAM area. >>> Is there any chance that we have accesses to this section before the >>> DRAM is initialized on these platforms ? Could cause the boards to >>> hang. >> >> It is explicitly stated that it BSS is not available before setting up >> the DRAM: it is forbidden to use global/static variables. So it should >> be OK. >> > > Thanks for the clarification. Will queue the patches for next merge > window. Thanks, actually I've just sent a v2 because in the meantime an other defconfig needed to be updated. Gregory > > Eugen > >> Gregory >> >>> >>> Eugen >> >> -- >> Gregory Clement, Bootlin >> Embedded Linux and Kernel engineering >> http://bootlin.com >> >
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f9dab073ea..e558024652 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -492,6 +492,7 @@ choice config ARCH_AT91 bool "Atmel AT91" select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB + select SPL_SEPARATE_BSS if SPL config TARGET_EDB93XX bool "Support edb93xx"
According to the linker script for both armv7 and arm926ejs based SoC, BSS section was all the time separated for SPL but this symbol was only enabled on some boards. However, it is necessary to have it enabled for OF_SEPARATE configuration where DTB is appended to u-boot with DTB. Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com> --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+)