From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gregory CLEMENT Date: Fri, 05 Jun 2020 09:49:38 +0200 Subject: [PATCH 1/2] ARM: at91: Enable SPL_SEPARATE_BSS by default In-Reply-To: <26af0588-3e9e-67ee-c248-cb4a200e4c43@microchip.com> References: <20200109163013.601223-1-gregory.clement@bootlin.com> <26af0588-3e9e-67ee-c248-cb4a200e4c43@microchip.com> Message-ID: <877dwm9ckt.fsf@FE-laptop> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >>> --- >>> ? 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 >> >> 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 -- Gregory Clement, Bootlin Embedded Linux and Kernel engineering http://bootlin.com