[U-Boot] arm: socfpga: unable to boot cyclone5 devkit or SocKit

Hi,
I'm seeking advice with an observation that I'm seeing on the Cyclone5 devkit/sockit.
I'm working with U-Boot version v2018.05-rc1. Building the u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on the SD card, does not boot, all I get is this:
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
This issue doesn't happen at all on the DE0 Nano SoC board. I compared the defconfig and came across this. If I remove these config options in the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
-CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y
I'll continue to debug of course, but was wondering if anyone might have a better idea as to what could be happening, I'd appreciate the insight.
Dinh

On 04/10/2018 08:28 PM, Dinh Nguyen wrote:
Hi,
I'm seeking advice with an observation that I'm seeing on the Cyclone5 devkit/sockit.
I'm working with U-Boot version v2018.05-rc1. Building the u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on the SD card, does not boot, all I get is this:
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
This issue doesn't happen at all on the DE0 Nano SoC board. I compared the defconfig and came across this. If I remove these config options in the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
-CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y
I'll continue to debug of course, but was wondering if anyone might have a better idea as to what could be happening, I'd appreciate the insight.
Check the size of the SPL , could it be too big ?

On 04/10/2018 01:29 PM, Marek Vasut wrote:
On 04/10/2018 08:28 PM, Dinh Nguyen wrote:
Hi,
I'm seeking advice with an observation that I'm seeing on the Cyclone5 devkit/sockit.
I'm working with U-Boot version v2018.05-rc1. Building the u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on the SD card, does not boot, all I get is this:
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
This issue doesn't happen at all on the DE0 Nano SoC board. I compared the defconfig and came across this. If I remove these config options in the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
-CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y
I'll continue to debug of course, but was wondering if anyone might have a better idea as to what could be happening, I'd appreciate the insight.
Check the size of the SPL , could it be too big ?
That's a good thought...it could be. The size of the default u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to 55616, that's smaller than the 64k of OCRAM for SPL?
Dinh

On 04/10/2018 08:56 PM, Dinh Nguyen wrote:
On 04/10/2018 01:29 PM, Marek Vasut wrote:
On 04/10/2018 08:28 PM, Dinh Nguyen wrote:
Hi,
I'm seeking advice with an observation that I'm seeing on the Cyclone5 devkit/sockit.
I'm working with U-Boot version v2018.05-rc1. Building the u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on the SD card, does not boot, all I get is this:
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
This issue doesn't happen at all on the DE0 Nano SoC board. I compared the defconfig and came across this. If I remove these config options in the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
-CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y
I'll continue to debug of course, but was wondering if anyone might have a better idea as to what could be happening, I'd appreciate the insight.
Check the size of the SPL , could it be too big ?
That's a good thought...it could be. The size of the default u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to 55616, that's smaller than the 64k of OCRAM for SPL?
Right, I think there's something about those last few kiB OR it's the stack that's overwriting piece of U-Boot or malloc area or something. How did it grow so big anyway ?

On 04/10/2018 02:25 PM, Marek Vasut wrote:
On 04/10/2018 08:56 PM, Dinh Nguyen wrote:
On 04/10/2018 01:29 PM, Marek Vasut wrote:
On 04/10/2018 08:28 PM, Dinh Nguyen wrote:
Hi,
I'm seeking advice with an observation that I'm seeing on the Cyclone5 devkit/sockit.
I'm working with U-Boot version v2018.05-rc1. Building the u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on the SD card, does not boot, all I get is this:
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
This issue doesn't happen at all on the DE0 Nano SoC board. I compared the defconfig and came across this. If I remove these config options in the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
-CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y
I'll continue to debug of course, but was wondering if anyone might have a better idea as to what could be happening, I'd appreciate the insight.
Check the size of the SPL , could it be too big ?
That's a good thought...it could be. The size of the default u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to 55616, that's smaller than the 64k of OCRAM for SPL?
Right, I think there's something about those last few kiB OR it's the stack that's overwriting piece of U-Boot or malloc area or something. How did it grow so big anyway ?
Ah, looks like SYS_MALLOC_F_LEN is set to 8k, thus, we're over the 64k limit. Setting SYS_MALLOC_F_LEN to 4k makes it work again. I'm not sure how the SPL grew so big.
Dinh

On 04/10/2018 11:36 PM, Dinh Nguyen wrote:
On 04/10/2018 02:25 PM, Marek Vasut wrote:
On 04/10/2018 08:56 PM, Dinh Nguyen wrote:
On 04/10/2018 01:29 PM, Marek Vasut wrote:
On 04/10/2018 08:28 PM, Dinh Nguyen wrote:
Hi,
I'm seeking advice with an observation that I'm seeing on the Cyclone5 devkit/sockit.
I'm working with U-Boot version v2018.05-rc1. Building the u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on the SD card, does not boot, all I get is this:
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
This issue doesn't happen at all on the DE0 Nano SoC board. I compared the defconfig and came across this. If I remove these config options in the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
-CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y
I'll continue to debug of course, but was wondering if anyone might have a better idea as to what could be happening, I'd appreciate the insight.
Check the size of the SPL , could it be too big ?
That's a good thought...it could be. The size of the default u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to 55616, that's smaller than the 64k of OCRAM for SPL?
Right, I think there's something about those last few kiB OR it's the stack that's overwriting piece of U-Boot or malloc area or something. How did it grow so big anyway ?
Ah, looks like SYS_MALLOC_F_LEN is set to 8k, thus, we're over the 64k limit. Setting SYS_MALLOC_F_LEN to 4k makes it work again. I'm not sure how the SPL grew so big.
I have a couple of theories, but anyway ...
u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f3dd87e0b9 Prepare v2018.01 -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f95ab1fb6e Prepare v2018.03 -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
Try bisecting out the commit which caused this 7 kiB growth between 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was at 53 kiB for a while (2017.05 is also ~53 kiB)

On 04/10/2018 05:37 PM, Marek Vasut wrote:
On 04/10/2018 11:36 PM, Dinh Nguyen wrote:
On 04/10/2018 02:25 PM, Marek Vasut wrote:
On 04/10/2018 08:56 PM, Dinh Nguyen wrote:
On 04/10/2018 01:29 PM, Marek Vasut wrote:
On 04/10/2018 08:28 PM, Dinh Nguyen wrote:
Hi,
I'm seeking advice with an observation that I'm seeing on the Cyclone5 devkit/sockit.
I'm working with U-Boot version v2018.05-rc1. Building the u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on the SD card, does not boot, all I get is this:
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
This issue doesn't happen at all on the DE0 Nano SoC board. I compared the defconfig and came across this. If I remove these config options in the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
-CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y
I'll continue to debug of course, but was wondering if anyone might have a better idea as to what could be happening, I'd appreciate the insight.
Check the size of the SPL , could it be too big ?
That's a good thought...it could be. The size of the default u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to 55616, that's smaller than the 64k of OCRAM for SPL?
Right, I think there's something about those last few kiB OR it's the stack that's overwriting piece of U-Boot or malloc area or something. How did it grow so big anyway ?
Ah, looks like SYS_MALLOC_F_LEN is set to 8k, thus, we're over the 64k limit. Setting SYS_MALLOC_F_LEN to 4k makes it work again. I'm not sure how the SPL grew so big.
I have a couple of theories, but anyway ...
u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f3dd87e0b9 Prepare v2018.01 -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f95ab1fb6e Prepare v2018.03 -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
Try bisecting out the commit which caused this 7 kiB growth between 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was at 53 kiB for a while (2017.05 is also ~53 kiB)
Doing the bisect points me to this commit:
commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 Author: Tom Rini trini@konsulko.com Date: Sat Feb 10 16:54:38 2018 -0500
configs: Re-sync with CONFIG_DISTRO_DEFAULTS
A number of platforms include config_distro_defaults.h but do not enable CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that flag and re-sync config files.
Signed-off-by: Tom Rini trini@konsulko.com
Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.
Dinh

On 04/10/2018 09:21 PM, Dinh Nguyen wrote:
On 04/10/2018 05:37 PM, Marek Vasut wrote:
On 04/10/2018 11:36 PM, Dinh Nguyen wrote:
On 04/10/2018 02:25 PM, Marek Vasut wrote:
On 04/10/2018 08:56 PM, Dinh Nguyen wrote:
On 04/10/2018 01:29 PM, Marek Vasut wrote:
On 04/10/2018 08:28 PM, Dinh Nguyen wrote: > Hi, > > I'm seeking advice with an observation that I'm seeing on the Cyclone5 > devkit/sockit. > > I'm working with U-Boot version v2018.05-rc1. Building the > u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on > the SD card, does not boot, all I get is this: > > U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500) > > U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500) > > U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500) > > > This issue doesn't happen at all on the DE0 Nano SoC board. I compared > the defconfig and came across this. If I remove these config options in > the socfpga_sockit_defconfig, then SPL -> U-Boot works fine. > > -CONFIG_SPI_FLASH_MACRONIX=y > -CONFIG_SPI_FLASH_SPANSION=y > -CONFIG_SPI_FLASH_STMICRO=y > > I'll continue to debug of course, but was wondering if anyone might have > a better idea as to what could be happening, I'd appreciate the insight.
Check the size of the SPL , could it be too big ?
That's a good thought...it could be. The size of the default u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to 55616, that's smaller than the 64k of OCRAM for SPL?
Right, I think there's something about those last few kiB OR it's the stack that's overwriting piece of U-Boot or malloc area or something. How did it grow so big anyway ?
Ah, looks like SYS_MALLOC_F_LEN is set to 8k, thus, we're over the 64k limit. Setting SYS_MALLOC_F_LEN to 4k makes it work again. I'm not sure how the SPL grew so big.
I have a couple of theories, but anyway ...
u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f3dd87e0b9 Prepare v2018.01 -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f95ab1fb6e Prepare v2018.03 -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
Try bisecting out the commit which caused this 7 kiB growth between 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was at 53 kiB for a while (2017.05 is also ~53 kiB)
Doing the bisect points me to this commit:
commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 Author: Tom Rini trini@konsulko.com Date: Sat Feb 10 16:54:38 2018 -0500
configs: Re-sync with CONFIG_DISTRO_DEFAULTS A number of platforms include config_distro_defaults.h but do not enable CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that flag and re-sync config files. Signed-off-by: Tom Rini <trini@konsulko.com>
Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.
Dinh
It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these configs:
CONFIG_ISO_PARTITION=y CONFIG_SPL_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_SPL_AMIGA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 CONFIG_EFI_PARTITION_ENTRIES_OFF=0 CONFIG_SPL_EFI_PARTITION=y CONFIG_PARTITION_UUIDS=y CONFIG_SPL_PARTITION_UUIDS=y # CONFIG_PARTITION_TYPE_GUID is not set
Which is contributing to the SPL growth.
Dinh

On 04/10/2018 09:45 PM, Dinh Nguyen wrote:
On 04/10/2018 09:21 PM, Dinh Nguyen wrote:
On 04/10/2018 05:37 PM, Marek Vasut wrote:
On 04/10/2018 11:36 PM, Dinh Nguyen wrote:
On 04/10/2018 02:25 PM, Marek Vasut wrote:
On 04/10/2018 08:56 PM, Dinh Nguyen wrote:
On 04/10/2018 01:29 PM, Marek Vasut wrote: > On 04/10/2018 08:28 PM, Dinh Nguyen wrote: >> Hi, >> >> I'm seeking advice with an observation that I'm seeing on the Cyclone5 >> devkit/sockit. >> >> I'm working with U-Boot version v2018.05-rc1. Building the >> u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on >> the SD card, does not boot, all I get is this: >> >> U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500) >> >> U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500) >> >> U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500) >> >> >> This issue doesn't happen at all on the DE0 Nano SoC board. I compared >> the defconfig and came across this. If I remove these config options in >> the socfpga_sockit_defconfig, then SPL -> U-Boot works fine. >> >> -CONFIG_SPI_FLASH_MACRONIX=y >> -CONFIG_SPI_FLASH_SPANSION=y >> -CONFIG_SPI_FLASH_STMICRO=y >> >> I'll continue to debug of course, but was wondering if anyone might have >> a better idea as to what could be happening, I'd appreciate the insight. > > Check the size of the SPL , could it be too big ? >
That's a good thought...it could be. The size of the default u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to 55616, that's smaller than the 64k of OCRAM for SPL?
Right, I think there's something about those last few kiB OR it's the stack that's overwriting piece of U-Boot or malloc area or something. How did it grow so big anyway ?
Ah, looks like SYS_MALLOC_F_LEN is set to 8k, thus, we're over the 64k limit. Setting SYS_MALLOC_F_LEN to 4k makes it work again. I'm not sure how the SPL grew so big.
I have a couple of theories, but anyway ...
u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f3dd87e0b9 Prepare v2018.01 -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f95ab1fb6e Prepare v2018.03 -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
Try bisecting out the commit which caused this 7 kiB growth between 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was at 53 kiB for a while (2017.05 is also ~53 kiB)
Doing the bisect points me to this commit:
commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 Author: Tom Rini trini@konsulko.com Date: Sat Feb 10 16:54:38 2018 -0500
configs: Re-sync with CONFIG_DISTRO_DEFAULTS A number of platforms include config_distro_defaults.h but do not enable CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that flag and re-sync config files. Signed-off-by: Tom Rini <trini@konsulko.com>
Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.
Dinh
It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these configs:
CONFIG_ISO_PARTITION=y CONFIG_SPL_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_SPL_AMIGA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 CONFIG_EFI_PARTITION_ENTRIES_OFF=0 CONFIG_SPL_EFI_PARTITION=y CONFIG_PARTITION_UUIDS=y CONFIG_SPL_PARTITION_UUIDS=y # CONFIG_PARTITION_TYPE_GUID is not set
Which is contributing to the SPL growth.
Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
Dinh

On 04/11/2018 04:52 AM, Dinh Nguyen wrote: [...]
u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f3dd87e0b9 Prepare v2018.01 -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f95ab1fb6e Prepare v2018.03 -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
Try bisecting out the commit which caused this 7 kiB growth between 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was at 53 kiB for a while (2017.05 is also ~53 kiB)
Doing the bisect points me to this commit:
commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 Author: Tom Rini trini@konsulko.com Date: Sat Feb 10 16:54:38 2018 -0500
configs: Re-sync with CONFIG_DISTRO_DEFAULTS A number of platforms include config_distro_defaults.h but do not enable CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that flag and re-sync config files. Signed-off-by: Tom Rini <trini@konsulko.com>
Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.
Dinh
It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these configs:
CONFIG_ISO_PARTITION=y CONFIG_SPL_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_SPL_AMIGA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 CONFIG_EFI_PARTITION_ENTRIES_OFF=0 CONFIG_SPL_EFI_PARTITION=y CONFIG_PARTITION_UUIDS=y CONFIG_SPL_PARTITION_UUIDS=y # CONFIG_PARTITION_TYPE_GUID is not set
Which is contributing to the SPL growth.
Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
IMO not on SoCFPGA. Also CCing Tom.

On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote:
On 04/11/2018 04:52 AM, Dinh Nguyen wrote: [...]
u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f3dd87e0b9 Prepare v2018.01 -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f95ab1fb6e Prepare v2018.03 -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
Try bisecting out the commit which caused this 7 kiB growth between 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was at 53 kiB for a while (2017.05 is also ~53 kiB)
Do you have a size constraint and are not setting the correct CONFIG options so that it becomes a build failure?
Doing the bisect points me to this commit:
commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 Author: Tom Rini trini@konsulko.com Date: Sat Feb 10 16:54:38 2018 -0500
configs: Re-sync with CONFIG_DISTRO_DEFAULTS A number of platforms include config_distro_defaults.h but do not enable CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that flag and re-sync config files. Signed-off-by: Tom Rini <trini@konsulko.com>
Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.
Dinh
It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these configs:
CONFIG_ISO_PARTITION=y CONFIG_SPL_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_SPL_AMIGA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 CONFIG_EFI_PARTITION_ENTRIES_OFF=0 CONFIG_SPL_EFI_PARTITION=y CONFIG_PARTITION_UUIDS=y CONFIG_SPL_PARTITION_UUIDS=y # CONFIG_PARTITION_TYPE_GUID is not set
Which is contributing to the SPL growth.
Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
IMO not on SoCFPGA. Also CCing Tom.
Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are needed so that booting from various distro media works.

On 04/11/2018 02:26 PM, Tom Rini wrote:
On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote:
On 04/11/2018 04:52 AM, Dinh Nguyen wrote: [...]
u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f3dd87e0b9 Prepare v2018.01 -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la spl/u-boot-spl.bin HEAD is now at f95ab1fb6e Prepare v2018.03 -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
Try bisecting out the commit which caused this 7 kiB growth between 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was at 53 kiB for a while (2017.05 is also ~53 kiB)
Do you have a size constraint and are not setting the correct CONFIG options so that it becomes a build failure?
Doing the bisect points me to this commit:
commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 Author: Tom Rini trini@konsulko.com Date: Sat Feb 10 16:54:38 2018 -0500
configs: Re-sync with CONFIG_DISTRO_DEFAULTS A number of platforms include config_distro_defaults.h but do not enable CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that flag and re-sync config files. Signed-off-by: Tom Rini <trini@konsulko.com>
Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.
Dinh
It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these configs:
CONFIG_ISO_PARTITION=y CONFIG_SPL_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_SPL_AMIGA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 CONFIG_EFI_PARTITION_ENTRIES_OFF=0 CONFIG_SPL_EFI_PARTITION=y CONFIG_PARTITION_UUIDS=y CONFIG_SPL_PARTITION_UUIDS=y # CONFIG_PARTITION_TYPE_GUID is not set
Which is contributing to the SPL growth.
Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
IMO not on SoCFPGA. Also CCing Tom.
Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are needed so that booting from various distro media works.
In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI or ISO partition needed there ?

On 04/11/2018 02:37 PM, Marek Vasut wrote:
On 04/11/2018 02:26 PM, Tom Rini wrote:
On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote:
On 04/11/2018 04:52 AM, Dinh Nguyen wrote: [...]
> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la > spl/u-boot-spl.bin > HEAD is now at f3dd87e0b9 Prepare v2018.01 > -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin > > u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la > spl/u-boot-spl.bin > HEAD is now at f95ab1fb6e Prepare v2018.03 > -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin > > Try bisecting out the commit which caused this 7 kiB growth between > 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was > at 53 kiB for a while (2017.05 is also ~53 kiB)
Do you have a size constraint and are not setting the correct CONFIG options so that it becomes a build failure?
Doing the bisect points me to this commit:
commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 Author: Tom Rini trini@konsulko.com Date: Sat Feb 10 16:54:38 2018 -0500
configs: Re-sync with CONFIG_DISTRO_DEFAULTS A number of platforms include config_distro_defaults.h but do not enable CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that flag and re-sync config files. Signed-off-by: Tom Rini <trini@konsulko.com>
Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.
Dinh
It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these configs:
CONFIG_ISO_PARTITION=y CONFIG_SPL_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_SPL_AMIGA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 CONFIG_EFI_PARTITION_ENTRIES_OFF=0 CONFIG_SPL_EFI_PARTITION=y CONFIG_PARTITION_UUIDS=y CONFIG_SPL_PARTITION_UUIDS=y # CONFIG_PARTITION_TYPE_GUID is not set
Which is contributing to the SPL growth.
Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
IMO not on SoCFPGA. Also CCing Tom.
Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are needed so that booting from various distro media works.
In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI or ISO partition needed there ?
I don't think ISO partitioning is needed in SPL. However, for GPT I'm not 100% sure. People tend to go with GPT more often than not these days - and to be able to fetch U-Boot proper from a GPT partition may make sense.
How much reduction do you get when you only disable CONFIG_SPL_ISO_PARTITION?
Alex

On Wed, Apr 11, 2018 at 7:55 AM, Alexander Graf agraf@suse.de wrote:
On 04/11/2018 02:37 PM, Marek Vasut wrote:
On 04/11/2018 02:26 PM, Tom Rini wrote:
On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote:
On 04/11/2018 04:52 AM, Dinh Nguyen wrote: [...]
>> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la >> spl/u-boot-spl.bin >> HEAD is now at f3dd87e0b9 Prepare v2018.01 >> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin >> >> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la >> spl/u-boot-spl.bin >> HEAD is now at f95ab1fb6e Prepare v2018.03 >> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin >> >> Try bisecting out the commit which caused this 7 kiB growth between >> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it >> was >> at 53 kiB for a while (2017.05 is also ~53 kiB)
Do you have a size constraint and are not setting the correct CONFIG options so that it becomes a build failure?
> Doing the bisect points me to this commit: > > commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 > Author: Tom Rini trini@konsulko.com > Date: Sat Feb 10 16:54:38 2018 -0500 > > configs: Re-sync with CONFIG_DISTRO_DEFAULTS > > A number of platforms include config_distro_defaults.h but do > not enable > CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that > flag and > re-sync config files. > > Signed-off-by: Tom Rini trini@konsulko.com > > Doing a revert of the above commit shrinks the SPL back down to ~7 > kiB. > > Dinh > It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these configs:
CONFIG_ISO_PARTITION=y CONFIG_SPL_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_SPL_AMIGA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 CONFIG_EFI_PARTITION_ENTRIES_OFF=0 CONFIG_SPL_EFI_PARTITION=y CONFIG_PARTITION_UUIDS=y CONFIG_SPL_PARTITION_UUIDS=y # CONFIG_PARTITION_TYPE_GUID is not set
Which is contributing to the SPL growth.
Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
IMO not on SoCFPGA. Also CCing Tom.
Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are needed so that booting from various distro media works.
In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI or ISO partition needed there ?
I don't think ISO partitioning is needed in SPL. However, for GPT I'm not 100% sure. People tend to go with GPT more often than not these days - and to be able to fetch U-Boot proper from a GPT partition may make sense.
How much reduction do you get when you only disable CONFIG_SPL_ISO_PARTITION?
~3 kiB
Dinh

On 11.04.18 16:43, Dinh Nguyen wrote:
On Wed, Apr 11, 2018 at 7:55 AM, Alexander Graf agraf@suse.de wrote:
On 04/11/2018 02:37 PM, Marek Vasut wrote:
On 04/11/2018 02:26 PM, Tom Rini wrote:
On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote:
On 04/11/2018 04:52 AM, Dinh Nguyen wrote: [...]
>>> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la >>> spl/u-boot-spl.bin >>> HEAD is now at f3dd87e0b9 Prepare v2018.01 >>> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin >>> >>> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la >>> spl/u-boot-spl.bin >>> HEAD is now at f95ab1fb6e Prepare v2018.03 >>> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin >>> >>> Try bisecting out the commit which caused this 7 kiB growth between >>> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it >>> was >>> at 53 kiB for a while (2017.05 is also ~53 kiB)
Do you have a size constraint and are not setting the correct CONFIG options so that it becomes a build failure?
>> Doing the bisect points me to this commit: >> >> commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 >> Author: Tom Rini trini@konsulko.com >> Date: Sat Feb 10 16:54:38 2018 -0500 >> >> configs: Re-sync with CONFIG_DISTRO_DEFAULTS >> >> A number of platforms include config_distro_defaults.h but do >> not enable >> CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that >> flag and >> re-sync config files. >> >> Signed-off-by: Tom Rini trini@konsulko.com >> >> Doing a revert of the above commit shrinks the SPL back down to ~7 >> kiB. >> >> Dinh >> > It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these > configs: > > CONFIG_ISO_PARTITION=y > CONFIG_SPL_ISO_PARTITION=y > # CONFIG_AMIGA_PARTITION is not set > # CONFIG_SPL_AMIGA_PARTITION is not set > CONFIG_EFI_PARTITION=y > CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 > CONFIG_EFI_PARTITION_ENTRIES_OFF=0 > CONFIG_SPL_EFI_PARTITION=y > CONFIG_PARTITION_UUIDS=y > CONFIG_SPL_PARTITION_UUIDS=y > # CONFIG_PARTITION_TYPE_GUID is not set > > Which is contributing to the SPL growth. > Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
IMO not on SoCFPGA. Also CCing Tom.
Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are needed so that booting from various distro media works.
In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI or ISO partition needed there ?
I don't think ISO partitioning is needed in SPL. However, for GPT I'm not 100% sure. People tend to go with GPT more often than not these days - and to be able to fetch U-Boot proper from a GPT partition may make sense.
How much reduction do you get when you only disable CONFIG_SPL_ISO_PARTITION?
~3 kiB
Ok, so that's not enough to get us back to reasonable space, but it's at least a step in the right direction. I sent a patch to disable CONFIG_SPL_ISO_PARTITION for everyone by default ;).
If we remove all printfs from part_efi.c we could for example gain another 1.5kb. But I'm not sure that's worth it - and if feels like we're shaving on the wrong end at this point.
Is there any other big chunk in there that wastes space?
Also, Marek, could you maybe tell the linker that we only have 64-8kb space available, so it fails compilation? That way we could catch these issues in Travis already.
Alex

On 04/12/2018 10:01 AM, Alexander Graf wrote:
On 11.04.18 16:43, Dinh Nguyen wrote:
On Wed, Apr 11, 2018 at 7:55 AM, Alexander Graf agraf@suse.de wrote:
On 04/11/2018 02:37 PM, Marek Vasut wrote:
On 04/11/2018 02:26 PM, Tom Rini wrote:
On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote:
On 04/11/2018 04:52 AM, Dinh Nguyen wrote: [...]
>>>> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la >>>> spl/u-boot-spl.bin >>>> HEAD is now at f3dd87e0b9 Prepare v2018.01 >>>> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin >>>> >>>> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la >>>> spl/u-boot-spl.bin >>>> HEAD is now at f95ab1fb6e Prepare v2018.03 >>>> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin >>>> >>>> Try bisecting out the commit which caused this 7 kiB growth between >>>> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it >>>> was >>>> at 53 kiB for a while (2017.05 is also ~53 kiB)
Do you have a size constraint and are not setting the correct CONFIG options so that it becomes a build failure?
>>> Doing the bisect points me to this commit: >>> >>> commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 >>> Author: Tom Rini trini@konsulko.com >>> Date: Sat Feb 10 16:54:38 2018 -0500 >>> >>> configs: Re-sync with CONFIG_DISTRO_DEFAULTS >>> >>> A number of platforms include config_distro_defaults.h but do >>> not enable >>> CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that >>> flag and >>> re-sync config files. >>> >>> Signed-off-by: Tom Rini trini@konsulko.com >>> >>> Doing a revert of the above commit shrinks the SPL back down to ~7 >>> kiB. >>> >>> Dinh >>> >> It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these >> configs: >> >> CONFIG_ISO_PARTITION=y >> CONFIG_SPL_ISO_PARTITION=y >> # CONFIG_AMIGA_PARTITION is not set >> # CONFIG_SPL_AMIGA_PARTITION is not set >> CONFIG_EFI_PARTITION=y >> CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 >> CONFIG_EFI_PARTITION_ENTRIES_OFF=0 >> CONFIG_SPL_EFI_PARTITION=y >> CONFIG_PARTITION_UUIDS=y >> CONFIG_SPL_PARTITION_UUIDS=y >> # CONFIG_PARTITION_TYPE_GUID is not set >> >> Which is contributing to the SPL growth. >> > Turning the following config options off subtracts 7k from the SPL: > > +# CONFIG_SPL_ISO_PARTITION is not set > +# CONFIG_SPL_EFI_PARTITION is not set > > Not sure if these are needed?
IMO not on SoCFPGA. Also CCing Tom.
Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are needed so that booting from various distro media works.
In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI or ISO partition needed there ?
I don't think ISO partitioning is needed in SPL. However, for GPT I'm not 100% sure. People tend to go with GPT more often than not these days - and to be able to fetch U-Boot proper from a GPT partition may make sense.
How much reduction do you get when you only disable CONFIG_SPL_ISO_PARTITION?
~3 kiB
Ok, so that's not enough to get us back to reasonable space, but it's at least a step in the right direction. I sent a patch to disable CONFIG_SPL_ISO_PARTITION for everyone by default ;).
If we remove all printfs from part_efi.c we could for example gain another 1.5kb. But I'm not sure that's worth it - and if feels like we're shaving on the wrong end at this point.
Is there any other big chunk in there that wastes space?
The entire EFI support, which is never used on SoCFPGA to my knowledge, esp. in SPL .
Also, Marek, could you maybe tell the linker that we only have 64-8kb space available, so it fails compilation? That way we could catch these issues in Travis already.
Dinh, can you send a patch for that ?

Am 12.04.2018 um 10:37 schrieb Marek Vasut marex@denx.de:
On 04/12/2018 10:01 AM, Alexander Graf wrote:
On 11.04.18 16:43, Dinh Nguyen wrote:
On Wed, Apr 11, 2018 at 7:55 AM, Alexander Graf agraf@suse.de wrote:
On 04/11/2018 02:37 PM, Marek Vasut wrote:
On 04/11/2018 02:26 PM, Tom Rini wrote:
> On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote: > > On 04/11/2018 04:52 AM, Dinh Nguyen wrote: > [...] > >>>>> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la >>>>> spl/u-boot-spl.bin >>>>> HEAD is now at f3dd87e0b9 Prepare v2018.01 >>>>> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin >>>>> >>>>> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la >>>>> spl/u-boot-spl.bin >>>>> HEAD is now at f95ab1fb6e Prepare v2018.03 >>>>> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin >>>>> >>>>> Try bisecting out the commit which caused this 7 kiB growth between >>>>> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it >>>>> was >>>>> at 53 kiB for a while (2017.05 is also ~53 kiB)
Do you have a size constraint and are not setting the correct CONFIG options so that it becomes a build failure?
>>>> Doing the bisect points me to this commit: >>>> >>>> commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 >>>> Author: Tom Rini trini@konsulko.com >>>> Date: Sat Feb 10 16:54:38 2018 -0500 >>>> >>>> configs: Re-sync with CONFIG_DISTRO_DEFAULTS >>>> >>>> A number of platforms include config_distro_defaults.h but do >>>> not enable >>>> CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that >>>> flag and >>>> re-sync config files. >>>> >>>> Signed-off-by: Tom Rini trini@konsulko.com >>>> >>>> Doing a revert of the above commit shrinks the SPL back down to ~7 >>>> kiB. >>>> >>>> Dinh >>>> >>> It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these >>> configs: >>> >>> CONFIG_ISO_PARTITION=y >>> CONFIG_SPL_ISO_PARTITION=y >>> # CONFIG_AMIGA_PARTITION is not set >>> # CONFIG_SPL_AMIGA_PARTITION is not set >>> CONFIG_EFI_PARTITION=y >>> CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 >>> CONFIG_EFI_PARTITION_ENTRIES_OFF=0 >>> CONFIG_SPL_EFI_PARTITION=y >>> CONFIG_PARTITION_UUIDS=y >>> CONFIG_SPL_PARTITION_UUIDS=y >>> # CONFIG_PARTITION_TYPE_GUID is not set >>> >>> Which is contributing to the SPL growth. >>> >> Turning the following config options off subtracts 7k from the SPL: >> >> +# CONFIG_SPL_ISO_PARTITION is not set >> +# CONFIG_SPL_EFI_PARTITION is not set >> >> Not sure if these are needed? > > IMO not on SoCFPGA. Also CCing Tom.
Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are needed so that booting from various distro media works.
In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI or ISO partition needed there ?
I don't think ISO partitioning is needed in SPL. However, for GPT I'm not 100% sure. People tend to go with GPT more often than not these days - and to be able to fetch U-Boot proper from a GPT partition may make sense.
How much reduction do you get when you only disable CONFIG_SPL_ISO_PARTITION?
~3 kiB
Ok, so that's not enough to get us back to reasonable space, but it's at least a step in the right direction. I sent a patch to disable CONFIG_SPL_ISO_PARTITION for everyone by default ;).
If we remove all printfs from part_efi.c we could for example gain another 1.5kb. But I'm not sure that's worth it - and if feels like we're shaving on the wrong end at this point.
Is there any other big chunk in there that wastes space?
The entire EFI support, which is never used on SoCFPGA to my knowledge, esp. in SPL .
None of it is enabled in SPL :). The „efi partition“ option is a misnomer - it really just enables GPT partition table support which are widely in use with Android for example.
Alex

On 04/12/2018 11:15 AM, Alexander Graf wrote:
Am 12.04.2018 um 10:37 schrieb Marek Vasut marex@denx.de:
On 04/12/2018 10:01 AM, Alexander Graf wrote:
On 11.04.18 16:43, Dinh Nguyen wrote:
On Wed, Apr 11, 2018 at 7:55 AM, Alexander Graf agraf@suse.de wrote:
On 04/11/2018 02:37 PM, Marek Vasut wrote:
> On 04/11/2018 02:26 PM, Tom Rini wrote: > >> On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote: >> >> On 04/11/2018 04:52 AM, Dinh Nguyen wrote: >> [...] >> >>>>>> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la >>>>>> spl/u-boot-spl.bin >>>>>> HEAD is now at f3dd87e0b9 Prepare v2018.01 >>>>>> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin >>>>>> >>>>>> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la >>>>>> spl/u-boot-spl.bin >>>>>> HEAD is now at f95ab1fb6e Prepare v2018.03 >>>>>> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin >>>>>> >>>>>> Try bisecting out the commit which caused this 7 kiB growth between >>>>>> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it >>>>>> was >>>>>> at 53 kiB for a while (2017.05 is also ~53 kiB) > > Do you have a size constraint and are not setting the correct CONFIG > options so that it becomes a build failure? > >>>>> Doing the bisect points me to this commit: >>>>> >>>>> commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 >>>>> Author: Tom Rini trini@konsulko.com >>>>> Date: Sat Feb 10 16:54:38 2018 -0500 >>>>> >>>>> configs: Re-sync with CONFIG_DISTRO_DEFAULTS >>>>> >>>>> A number of platforms include config_distro_defaults.h but do >>>>> not enable >>>>> CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that >>>>> flag and >>>>> re-sync config files. >>>>> >>>>> Signed-off-by: Tom Rini trini@konsulko.com >>>>> >>>>> Doing a revert of the above commit shrinks the SPL back down to ~7 >>>>> kiB. >>>>> >>>>> Dinh >>>>> >>>> It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these >>>> configs: >>>> >>>> CONFIG_ISO_PARTITION=y >>>> CONFIG_SPL_ISO_PARTITION=y >>>> # CONFIG_AMIGA_PARTITION is not set >>>> # CONFIG_SPL_AMIGA_PARTITION is not set >>>> CONFIG_EFI_PARTITION=y >>>> CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 >>>> CONFIG_EFI_PARTITION_ENTRIES_OFF=0 >>>> CONFIG_SPL_EFI_PARTITION=y >>>> CONFIG_PARTITION_UUIDS=y >>>> CONFIG_SPL_PARTITION_UUIDS=y >>>> # CONFIG_PARTITION_TYPE_GUID is not set >>>> >>>> Which is contributing to the SPL growth. >>>> >>> Turning the following config options off subtracts 7k from the SPL: >>> >>> +# CONFIG_SPL_ISO_PARTITION is not set >>> +# CONFIG_SPL_EFI_PARTITION is not set >>> >>> Not sure if these are needed? >> >> IMO not on SoCFPGA. Also CCing Tom. > > Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are > needed so that booting from various distro media works.
In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI or ISO partition needed there ?
I don't think ISO partitioning is needed in SPL. However, for GPT I'm not 100% sure. People tend to go with GPT more often than not these days - and to be able to fetch U-Boot proper from a GPT partition may make sense.
How much reduction do you get when you only disable CONFIG_SPL_ISO_PARTITION?
~3 kiB
Ok, so that's not enough to get us back to reasonable space, but it's at least a step in the right direction. I sent a patch to disable CONFIG_SPL_ISO_PARTITION for everyone by default ;).
If we remove all printfs from part_efi.c we could for example gain another 1.5kb. But I'm not sure that's worth it - and if feels like we're shaving on the wrong end at this point.
Is there any other big chunk in there that wastes space?
The entire EFI support, which is never used on SoCFPGA to my knowledge, esp. in SPL .
None of it is enabled in SPL :). The „efi partition“ option is a misnomer - it really just enables GPT partition table support which are widely in use with Android for example.
I suspect we can disable that, since SoCFPGA boots from this a2 partition type on MBR only (bootrom limitation).

On 04/12/2018 11:17 AM, Marek Vasut wrote:
On 04/12/2018 11:15 AM, Alexander Graf wrote:
Am 12.04.2018 um 10:37 schrieb Marek Vasut marex@denx.de:
On 04/12/2018 10:01 AM, Alexander Graf wrote:
On 11.04.18 16:43, Dinh Nguyen wrote:
On Wed, Apr 11, 2018 at 7:55 AM, Alexander Graf agraf@suse.de wrote: > On 04/11/2018 02:37 PM, Marek Vasut wrote: > >> On 04/11/2018 02:26 PM, Tom Rini wrote: >> >>> On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote: >>> >>> On 04/11/2018 04:52 AM, Dinh Nguyen wrote: >>> [...] >>> >>>>>>> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la >>>>>>> spl/u-boot-spl.bin >>>>>>> HEAD is now at f3dd87e0b9 Prepare v2018.01 >>>>>>> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin >>>>>>> >>>>>>> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la >>>>>>> spl/u-boot-spl.bin >>>>>>> HEAD is now at f95ab1fb6e Prepare v2018.03 >>>>>>> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin >>>>>>> >>>>>>> Try bisecting out the commit which caused this 7 kiB growth between >>>>>>> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it >>>>>>> was >>>>>>> at 53 kiB for a while (2017.05 is also ~53 kiB) >> Do you have a size constraint and are not setting the correct CONFIG >> options so that it becomes a build failure? >> >>>>>> Doing the bisect points me to this commit: >>>>>> >>>>>> commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2 >>>>>> Author: Tom Rini trini@konsulko.com >>>>>> Date: Sat Feb 10 16:54:38 2018 -0500 >>>>>> >>>>>> configs: Re-sync with CONFIG_DISTRO_DEFAULTS >>>>>> >>>>>> A number of platforms include config_distro_defaults.h but do >>>>>> not enable >>>>>> CONFIG_DISTRO_DEFAULTS. As they plainly intended to, set that >>>>>> flag and >>>>>> re-sync config files. >>>>>> >>>>>> Signed-off-by: Tom Rini trini@konsulko.com >>>>>> >>>>>> Doing a revert of the above commit shrinks the SPL back down to ~7 >>>>>> kiB. >>>>>> >>>>>> Dinh >>>>>> >>>>> It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these >>>>> configs: >>>>> >>>>> CONFIG_ISO_PARTITION=y >>>>> CONFIG_SPL_ISO_PARTITION=y >>>>> # CONFIG_AMIGA_PARTITION is not set >>>>> # CONFIG_SPL_AMIGA_PARTITION is not set >>>>> CONFIG_EFI_PARTITION=y >>>>> CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 >>>>> CONFIG_EFI_PARTITION_ENTRIES_OFF=0 >>>>> CONFIG_SPL_EFI_PARTITION=y >>>>> CONFIG_PARTITION_UUIDS=y >>>>> CONFIG_SPL_PARTITION_UUIDS=y >>>>> # CONFIG_PARTITION_TYPE_GUID is not set >>>>> >>>>> Which is contributing to the SPL growth. >>>>> >>>> Turning the following config options off subtracts 7k from the SPL: >>>> >>>> +# CONFIG_SPL_ISO_PARTITION is not set >>>> +# CONFIG_SPL_EFI_PARTITION is not set >>>> >>>> Not sure if these are needed? >>> IMO not on SoCFPGA. Also CCing Tom. >> Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are >> needed so that booting from various distro media works. > In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI > or ISO partition needed there ?
I don't think ISO partitioning is needed in SPL. However, for GPT I'm not 100% sure. People tend to go with GPT more often than not these days - and to be able to fetch U-Boot proper from a GPT partition may make sense.
How much reduction do you get when you only disable CONFIG_SPL_ISO_PARTITION?
~3 kiB
Ok, so that's not enough to get us back to reasonable space, but it's at least a step in the right direction. I sent a patch to disable CONFIG_SPL_ISO_PARTITION for everyone by default ;).
If we remove all printfs from part_efi.c we could for example gain another 1.5kb. But I'm not sure that's worth it - and if feels like we're shaving on the wrong end at this point.
Is there any other big chunk in there that wastes space?
The entire EFI support, which is never used on SoCFPGA to my knowledge, esp. in SPL .
None of it is enabled in SPL :). The „efi partition“ option is a misnomer - it really just enables GPT partition table support which are widely in use with Android for example.
I suspect we can disable that, since SoCFPGA boots from this a2 partition type on MBR only (bootrom limitation).
That's a very good point. If the bootrom does not support GPT, there is basically no point in enabling it in SPL, I agree.
Alex

On 04/12/2018 11:42 AM, Alexander Graf wrote: [...]
None of it is enabled in SPL :). The „efi partition“ option is a misnomer - it really just enables GPT partition table support which are widely in use with Android for example.
I suspect we can disable that, since SoCFPGA boots from this a2 partition type on MBR only (bootrom limitation).
That's a very good point. If the bootrom does not support GPT, there is basically no point in enabling it in SPL, I agree.
Patch please !

On 04/12/2018 04:43 AM, Marek Vasut wrote:
On 04/12/2018 11:42 AM, Alexander Graf wrote: [...]
None of it is enabled in SPL :). The „efi partition“ option is a misnomer - it really just enables GPT partition table support which are widely in use with Android for example.
I suspect we can disable that, since SoCFPGA boots from this a2 partition type on MBR only (bootrom limitation).
That's a very good point. If the bootrom does not support GPT, there is basically no point in enabling it in SPL, I agree.
Patch please !
Ok...Let met get to it! Thanks for the help in debugging this issue?
Dinh
participants (6)
-
Alexander Graf
-
Dinh Nguyen
-
Dinh Nguyen
-
Marek Vasut
-
Marek Vasut
-
Tom Rini