Message ID | 20210125045846.448399-2-joel@jms.id.au |
---|---|
State | New |
Headers | show |
Series | FIT verification | expand |
Hi Joel, On 1/25/2021 1:58 AM, Joel Stanley wrote: > The SRAM is 89KB on the A1 and beyond: I guess I'll have to trust you on that one. > > 0x1000_0000 to 0x1000_ffff: 64KB, with parity check > 0x1001_0000 to 0x1001_5fff: 24KB, w/o parity check > 0x1001_6000 to 0x1001_63ff: 1KB, w/o parity check, each byte write once > > Allow the image to fill the full 64KB payload size (max that secure boot > supports) and plcae the stack at the top of the 24KB of SRAM. typo > @@ -25,8 +25,8 @@ > > /* SPL */ > #define CONFIG_SPL_TEXT_BASE 0x00000000 > -#define CONFIG_SPL_MAX_SIZE 0x0000E800 > -#define CONFIG_SPL_STACK 0x10010000 > +#define CONFIG_SPL_MAX_SIZE 0x00010000 > +#define CONFIG_SPL_STACK 0x10016000 > #define CONFIG_SPL_BSS_START_ADDR 0x90000000 > #define CONFIG_SPL_BSS_MAX_SIZE 0x00100000 > Got the following when I tried this patch (Ubuntu 18.04.5, gcc 7.5.0, binutils 2.30). Am I missing something? LD spl/u-boot-spl arm-linux-gnueabihf-ld.bfd: u-boot-spl section `.u_boot_list' will not fit in region `flash' arm-linux-gnueabihf-ld.bfd: region `flash' overflowed by 1612 bytes scripts/Makefile.spl:384: recipe for target 'spl/u-boot-spl' failed make[1]: *** [spl/u-boot-spl] Error 1 Makefile:1663: recipe for target 'spl/u-boot-spl' failed make: *** [spl/u-boot-spl] Error 2
On Wed, 27 Jan 2021 at 01:55, Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> wrote: > > Hi Joel, > > On 1/25/2021 1:58 AM, Joel Stanley wrote: > > The SRAM is 89KB on the A1 and beyond: > > I guess I'll have to trust you on that one. You have access to the datasheet and can verify this. > > > > > 0x1000_0000 to 0x1000_ffff: 64KB, with parity check > > 0x1001_0000 to 0x1001_5fff: 24KB, w/o parity check > > 0x1001_6000 to 0x1001_63ff: 1KB, w/o parity check, each byte write once > > > > Allow the image to fill the full 64KB payload size (max that secure boot > > supports) and plcae the stack at the top of the 24KB of SRAM. > typo > > > @@ -25,8 +25,8 @@ > > > > /* SPL */ > > #define CONFIG_SPL_TEXT_BASE 0x00000000 > > -#define CONFIG_SPL_MAX_SIZE 0x0000E800 > > -#define CONFIG_SPL_STACK 0x10010000 > > +#define CONFIG_SPL_MAX_SIZE 0x00010000 > > +#define CONFIG_SPL_STACK 0x10016000 > > #define CONFIG_SPL_BSS_START_ADDR 0x90000000 > > #define CONFIG_SPL_BSS_MAX_SIZE 0x00100000 > > > > Got the following when I tried this patch (Ubuntu 18.04.5, gcc 7.5.0, binutils 2.30). Am I missing something? This is a very out of date compiler. We use GCC 10 for openbmc. I will submit a v2 with some new features for reducing the image size. > > LD spl/u-boot-spl > arm-linux-gnueabihf-ld.bfd: u-boot-spl section `.u_boot_list' will not fit in region `flash' > arm-linux-gnueabihf-ld.bfd: region `flash' overflowed by 1612 bytes > scripts/Makefile.spl:384: recipe for target 'spl/u-boot-spl' failed > make[1]: *** [spl/u-boot-spl] Error 1 > Makefile:1663: recipe for target 'spl/u-boot-spl' failed > make: *** [spl/u-boot-spl] Error 2 > > > -- > Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
On 1/27/2021 3:56 AM, Joel Stanley wrote: > On Wed, 27 Jan 2021 at 01:55, Klaus Heinrich Kiwi > <klaus@linux.vnet.ibm.com> wrote: >> >> Hi Joel, >> >> On 1/25/2021 1:58 AM, Joel Stanley wrote: >>> The SRAM is 89KB on the A1 and beyond: >> >> I guess I'll have to trust you on that one. > > You have access to the datasheet and can verify this. I'm not sure where to find it. Is that published somewhere? >> >>> >>> 0x1000_0000 to 0x1000_ffff: 64KB, with parity check >>> 0x1001_0000 to 0x1001_5fff: 24KB, w/o parity check >>> 0x1001_6000 to 0x1001_63ff: 1KB, w/o parity check, each byte write once >>> >>> Allow the image to fill the full 64KB payload size (max that secure boot >>> supports) and plcae the stack at the top of the 24KB of SRAM. >> typo >> >>> @@ -25,8 +25,8 @@ >>> >>> /* SPL */ >>> #define CONFIG_SPL_TEXT_BASE 0x00000000 >>> -#define CONFIG_SPL_MAX_SIZE 0x0000E800 >>> -#define CONFIG_SPL_STACK 0x10010000 >>> +#define CONFIG_SPL_MAX_SIZE 0x00010000 >>> +#define CONFIG_SPL_STACK 0x10016000 >>> #define CONFIG_SPL_BSS_START_ADDR 0x90000000 >>> #define CONFIG_SPL_BSS_MAX_SIZE 0x00100000 >>> >> >> Got the following when I tried this patch (Ubuntu 18.04.5, gcc 7.5.0, binutils 2.30). Am I missing something? > > This is a very out of date compiler. We use GCC 10 for openbmc. What compiler version did you test this on? | (cd spl && arm-openbmc-linux-gnueabi-ld.bfd -T u-boot-spl.lds --gc-sections -Bstatic --gc-sections -pie --no-dynamic-linker -Ttext 0x00000000 arch/arm/cpu/armv7/start.o --start-group arch/arm/mach-aspeed/built-in.o arch/arm/cpu/armv7/built-in.o arch/arm/cpu/built-in.o arch/arm/lib/built-in.o board/aspeed/evb_ast2600a1/built-in.o common/spl/built-in.o common/init/built-in.o common/built-in.o cmd/built-in.o env/built-in.o lib/built-in.o disk/built-in.o drivers/built-in.o dts/built-in.o fs/built-in.o --end-group arch/arm/lib/eabi_compat.o arch/arm/lib/lib.a -Map u-boot-spl.map -o u-boot-spl) | arm-openbmc-linux-gnueabi-ld.bfd: u-boot-spl section `.u_boot_list' will not fit in region `flash' | arm-openbmc-linux-gnueabi-ld.bfd: region `flash' overflowed by 1736 bytes $ ./arm-openbmc-linux-gnueabi-gcc --version arm-openbmc-linux-gnueabi-gcc (GCC) 10.2.0 > > I will submit a v2 with some new features for reducing the image size. Thank you.
diff --git a/include/configs/evb_ast2600a1_spl.h b/include/configs/evb_ast2600a1_spl.h index 69f3c32ce1d5..a39988820add 100644 --- a/include/configs/evb_ast2600a1_spl.h +++ b/include/configs/evb_ast2600a1_spl.h @@ -25,8 +25,8 @@ /* SPL */ #define CONFIG_SPL_TEXT_BASE 0x00000000 -#define CONFIG_SPL_MAX_SIZE 0x0000E800 -#define CONFIG_SPL_STACK 0x10010000 +#define CONFIG_SPL_MAX_SIZE 0x00010000 +#define CONFIG_SPL_STACK 0x10016000 #define CONFIG_SPL_BSS_START_ADDR 0x90000000 #define CONFIG_SPL_BSS_MAX_SIZE 0x00100000
The SRAM is 89KB on the A1 and beyond: 0x1000_0000 to 0x1000_ffff: 64KB, with parity check 0x1001_0000 to 0x1001_5fff: 24KB, w/o parity check 0x1001_6000 to 0x1001_63ff: 1KB, w/o parity check, each byte write once Allow the image to fill the full 64KB payload size (max that secure boot supports) and plcae the stack at the top of the 24KB of SRAM. Signed-off-by: Joel Stanley <joel@jms.id.au> --- include/configs/evb_ast2600a1_spl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)