Message ID | 20200725181851.4339-1-xypron.glpk@gmx.de |
---|---|
State | Accepted |
Commit | fb5b1678433711091e6f89a1c1ef24c422b5f521 |
Delegated to: | Jagannadha Sutradharudu Teki |
Headers | show |
Series | [v3,1/1] arm: sunxi: increase SYS_MALLOC_F_LEN | expand |
On 7/25/20 8:18 PM, Heinrich Schuchardt wrote: > The current default of 0x400 for SYS_MALLOC_F_LEN is too small if any > additional drivers marked as DM_FLAG_PRE_RELOC are loaded before > relocation. > > CONFIG_RSA=y which is needed for UEFI secure boot or for FIT image > verification loads the driver mod_exp_sw which has DM_FLAG_PRE_RELOC. > > CONFIG_LOG=Y is another setting requiring additional early malloc > area, cf. log_init(). > > When running pine64-lts_defconfig with CONFIG_RSA=y and debug UART enabled > we see as output in main U-Boot > > alloc_simple() alloc space exhausted > > With this patch the default values of SYS_MALLOC_F_LEN and > SPL_SYS_MALLOC_F_LEN on ARCH_SUNXI are raised to 0x2000. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> With current pine64-lts_defconfig we get a warning: "alloc space exhausted" So, please, merge the patch. Best regards Heinrich
On Mon, 24 Aug 2020 at 22:15, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > On 7/25/20 8:18 PM, Heinrich Schuchardt wrote: > > The current default of 0x400 for SYS_MALLOC_F_LEN is too small if any > > additional drivers marked as DM_FLAG_PRE_RELOC are loaded before > > relocation. > > > > CONFIG_RSA=y which is needed for UEFI secure boot or for FIT image > > verification loads the driver mod_exp_sw which has DM_FLAG_PRE_RELOC. > > > > CONFIG_LOG=Y is another setting requiring additional early malloc > > area, cf. log_init(). > > > > When running pine64-lts_defconfig with CONFIG_RSA=y and debug UART enabled > > we see as output in main U-Boot > > > > alloc_simple() alloc space exhausted > > > > With this patch the default values of SYS_MALLOC_F_LEN and > > SPL_SYS_MALLOC_F_LEN on ARCH_SUNXI are raised to 0x2000. > > > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > > Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> > > With current pine64-lts_defconfig we get a warning: > > "alloc space exhausted" > > So, please, merge the patch. Reviewed-by: Simon Glass <sjg@chromium.org> > > Best regards > > Heinrich
On 25.08.20 18:57, Simon Glass wrote: > On Mon, 24 Aug 2020 at 22:15, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: >> >> On 7/25/20 8:18 PM, Heinrich Schuchardt wrote: >>> The current default of 0x400 for SYS_MALLOC_F_LEN is too small if any >>> additional drivers marked as DM_FLAG_PRE_RELOC are loaded before >>> relocation. >>> >>> CONFIG_RSA=y which is needed for UEFI secure boot or for FIT image >>> verification loads the driver mod_exp_sw which has DM_FLAG_PRE_RELOC. >>> >>> CONFIG_LOG=Y is another setting requiring additional early malloc >>> area, cf. log_init(). >>> >>> When running pine64-lts_defconfig with CONFIG_RSA=y and debug UART enabled >>> we see as output in main U-Boot >>> >>> alloc_simple() alloc space exhausted >>> >>> With this patch the default values of SYS_MALLOC_F_LEN and >>> SPL_SYS_MALLOC_F_LEN on ARCH_SUNXI are raised to 0x2000. >>> >>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> >>> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> >> >> With current pine64-lts_defconfig we get a warning: >> >> "alloc space exhausted" >> >> So, please, merge the patch. > > Reviewed-by: Simon Glass <sjg@chromium.org> > >> >> Best regards >> >> Heinrich Hello Jagan, hello Maxime, it is merge window but I could not find this patch in https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi Please, take care of the patch. Best regards Heinrich
On 08/10/2020 14:02, Heinrich Schuchardt wrote: Hi, > On 25.08.20 18:57, Simon Glass wrote: >> On Mon, 24 Aug 2020 at 22:15, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: >>> >>> On 7/25/20 8:18 PM, Heinrich Schuchardt wrote: >>>> The current default of 0x400 for SYS_MALLOC_F_LEN is too small if any >>>> additional drivers marked as DM_FLAG_PRE_RELOC are loaded before >>>> relocation. >>>> >>>> CONFIG_RSA=y which is needed for UEFI secure boot or for FIT image >>>> verification loads the driver mod_exp_sw which has DM_FLAG_PRE_RELOC. >>>> >>>> CONFIG_LOG=Y is another setting requiring additional early malloc >>>> area, cf. log_init(). >>>> >>>> When running pine64-lts_defconfig with CONFIG_RSA=y and debug UART enabled >>>> we see as output in main U-Boot >>>> >>>> alloc_simple() alloc space exhausted >>>> >>>> With this patch the default values of SYS_MALLOC_F_LEN and >>>> SPL_SYS_MALLOC_F_LEN on ARCH_SUNXI are raised to 0x2000. >>>> >>>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> >>>> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> >>> >>> With current pine64-lts_defconfig we get a warning: >>> >>> "alloc space exhausted" >>> >>> So, please, merge the patch. >> >> Reviewed-by: Simon Glass <sjg@chromium.org> >> >>> >>> Best regards >>> >>> Heinrich > > Hello Jagan, hello Maxime, > > it is merge window but I could not find this patch in > > https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi So apparently since commit 4ab3817ff16a ("clk: fixed-rate: Enable DM_FLAG_PRE_RELOC flag") even the pine64-lts_defconfig is now broken, because more malloc space is needed for U-Boot proper before relocation. This patches fixes is. So can someone PLEASE merge this patch? To answer this one lingering question: Apparently the malloc memory for SPL is taken from DRAM (similar to BSS), so we have plenty. The U-Boot proper early malloc is taken from SRAM A1 (why?), but we don't need it for anything else any more, so have enough of it. So the 8KB are safe in both worlds. Thanks! Andre
On Sat, Jul 25, 2020 at 11:49 PM Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > The current default of 0x400 for SYS_MALLOC_F_LEN is too small if any > additional drivers marked as DM_FLAG_PRE_RELOC are loaded before > relocation. > > CONFIG_RSA=y which is needed for UEFI secure boot or for FIT image > verification loads the driver mod_exp_sw which has DM_FLAG_PRE_RELOC. > > CONFIG_LOG=Y is another setting requiring additional early malloc > area, cf. log_init(). > > When running pine64-lts_defconfig with CONFIG_RSA=y and debug UART enabled > we see as output in main U-Boot > > alloc_simple() alloc space exhausted > > With this patch the default values of SYS_MALLOC_F_LEN and > SPL_SYS_MALLOC_F_LEN on ARCH_SUNXI are raised to 0x2000. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> > --- > v3: > rebased > v2: > keep default for SPL_SYS_MALLOC_F_LEN at 0x400 > --- > Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Kconfig b/Kconfig > index 566ca72c92..513ccda8f2 100644 > --- a/Kconfig > +++ b/Kconfig > @@ -182,7 +182,7 @@ config SYS_MALLOC_F_LEN > default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \ > ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \ > ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \ > - ARCH_LS1046A || ARCH_QEMU) > + ARCH_LS1046A || ARCH_QEMU || ARCH_SUNXI) Applied to u-boot-sunix/master
diff --git a/Kconfig b/Kconfig index 566ca72c92..513ccda8f2 100644 --- a/Kconfig +++ b/Kconfig @@ -182,7 +182,7 @@ config SYS_MALLOC_F_LEN default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \ ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \ ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \ - ARCH_LS1046A || ARCH_QEMU) + ARCH_LS1046A || ARCH_QEMU || ARCH_SUNXI) default 0x400 help Before relocation, memory is very limited on many platforms. Still,