[U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC

Bin Meng bmeng.cn at gmail.com
Wed May 15 08:29:24 UTC 2019


On Wed, May 15, 2019 at 4:14 PM Auer, Lukas
<lukas.auer at aisec.fraunhofer.de> wrote:
>
> On Wed, 2019-05-15 at 15:39 +0800, Bin Meng wrote:
> > On Wed, May 15, 2019 at 3:12 PM AKASHI Takahiro
> > <takahiro.akashi at linaro.org> wrote:
> > > On Wed, May 15, 2019 at 02:45:19PM +0800, Bin Meng wrote:
> > > > On Wed, May 15, 2019 at 1:55 PM AKASHI Takahiro
> > > > <takahiro.akashi at linaro.org> wrote:
> > > > > As of v2019.07-rc1,
> > > > > u-boot does fail to boot without any messages on qemu-arm64 when
> > > > > configured with qemu_arm64_defconfig plus CONFIG_RSA/RSA_SOFTWARE_EXP.
> > > > > (Note that RSA_SOFTWARE_EXP also declares itself with DM_FLAG_PRE_RELOC.)
> > > > >
> > > > > By bisecting between v2019.04 and v2019.07, I found that the following
> > > > > commit triggered this regression:
> > > > >
> > > > >         commit 3a7c45f6a772
> > > > >         Author: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
> > > > >         Date:   Wed Apr 10 14:46:07 2019 +0200
> > > > >
> > > > >             simple-bus: add DM_FLAG_PRE_RELOC flag to simple-bus driver
> > > > >
> > > > > What's wrong with this?
> > > >
> > > > I just tested it and it boots for me.
> > > >
> > > > $ make qemu_arm64_defconfig
> > > > $ make menuconfig
> > > > adding CONFIG_RSA via "Library routines" -> "Security support" -> "Use
> > > > RSA Library"
> > > > $ make
> > > >
> > > > $ qemu-system-aarch64 -machine virt -cpu cortex-a57 -bios u-boot.bin -nographic
> > >
> > > Thank you.
> > > I have used locally-built qemu, so I will check the configuration of
> > > my build.
> >
> > FYI
> >
> > $ qemu-system-aarch64 -version
> > QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.36),
> > Copyright (c) 2003-2008 Fabrice Bellard
> >
> > I was using Ubuntu 16.04 shipped QEMU packages.
> >
> > Regards,
> > Bin
>
> The device tree might be different on your build. With this patch, more

Ah yes! I think the qemu-system-aarch64 I was using is a little bit
old but I did not realize that the DT might be different.

> drivers are probed during the pre-relocation device model. This
> increases the size requirements of CONFIG_SYS_MALLOC_F_LEN. qemu-arm64
> uses the default value for CONFIG_SYS_MALLOC_F_LEN, which is likely too
> small. We had similar problems on the i.MX devices, see [1]. Increasing
> it should fix the issue.

I thought it might be due to insufficient CONFIG_SYS_MALLOC_F_LEN but
since I can't reproduce it my QEMU I did not suggest :)

>
> Thanks,
> Lukas
>
> [1]: https://patchwork.ozlabs.org/patch/1094974/

Regards,
Bin


More information about the U-Boot mailing list