* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC
@ 2019-05-15 5:55 AKASHI Takahiro
2019-05-15 6:45 ` Bin Meng
0 siblings, 1 reply; 8+ messages in thread
From: AKASHI Takahiro @ 2019-05-15 5:55 UTC (permalink / raw)
To: u-boot
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@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?
-Takahiro Akashi
^ permalink raw reply [flat|nested] 8+ messages in thread* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC 2019-05-15 5:55 [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC AKASHI Takahiro @ 2019-05-15 6:45 ` Bin Meng 2019-05-15 7:12 ` AKASHI Takahiro 0 siblings, 1 reply; 8+ messages in thread From: Bin Meng @ 2019-05-15 6:45 UTC (permalink / raw) To: u-boot On Wed, May 15, 2019 at 1:55 PM AKASHI Takahiro <takahiro.akashi@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@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 U-Boot 2019.07-rc1-00506-g90176e3 (May 15 2019 - 14:43:21 +0800) DRAM: 128 MiB Flash: 128 MiB *** Warning - bad CRC, using default environment In: pl011 at 9000000 Out: pl011 at 9000000 Err: pl011 at 9000000 Net: No ethernet found. Hit any key to stop autoboot: 0 => Regards, Bin ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC 2019-05-15 6:45 ` Bin Meng @ 2019-05-15 7:12 ` AKASHI Takahiro 2019-05-15 7:39 ` Bin Meng 0 siblings, 1 reply; 8+ messages in thread From: AKASHI Takahiro @ 2019-05-15 7:12 UTC (permalink / raw) To: u-boot 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@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@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. -Takahiro Akashi > > U-Boot 2019.07-rc1-00506-g90176e3 (May 15 2019 - 14:43:21 +0800) > > DRAM: 128 MiB > Flash: 128 MiB > *** Warning - bad CRC, using default environment > > In: pl011 at 9000000 > Out: pl011 at 9000000 > Err: pl011 at 9000000 > Net: No ethernet found. > Hit any key to stop autoboot: 0 > => > > Regards, > Bin ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC 2019-05-15 7:12 ` AKASHI Takahiro @ 2019-05-15 7:39 ` Bin Meng 2019-05-15 8:14 ` Auer, Lukas 0 siblings, 1 reply; 8+ messages in thread From: Bin Meng @ 2019-05-15 7:39 UTC (permalink / raw) To: u-boot On Wed, May 15, 2019 at 3:12 PM AKASHI Takahiro <takahiro.akashi@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@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@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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC 2019-05-15 7:39 ` Bin Meng @ 2019-05-15 8:14 ` Auer, Lukas 2019-05-15 8:25 ` takahiro.akashi at linaro.org 2019-05-15 8:29 ` Bin Meng 0 siblings, 2 replies; 8+ messages in thread From: Auer, Lukas @ 2019-05-15 8:14 UTC (permalink / raw) To: u-boot 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@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@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@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 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. Thanks, Lukas [1]: https://patchwork.ozlabs.org/patch/1094974/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC 2019-05-15 8:14 ` Auer, Lukas @ 2019-05-15 8:25 ` takahiro.akashi at linaro.org 2019-05-15 9:05 ` Auer, Lukas 2019-05-15 8:29 ` Bin Meng 1 sibling, 1 reply; 8+ messages in thread From: takahiro.akashi at linaro.org @ 2019-05-15 8:25 UTC (permalink / raw) To: u-boot On Wed, May 15, 2019 at 08:14:18AM +0000, Auer, Lukas 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@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@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@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 > 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. > > Thanks, > Lukas > > [1]: https://patchwork.ozlabs.org/patch/1094974/ Ah, it was a known issue. But is there any better, or more flexible, way to fix that issue? It was very difficult for me to find out a clue for root cause. Thanks, -Takahiro Akashi ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC 2019-05-15 8:25 ` takahiro.akashi at linaro.org @ 2019-05-15 9:05 ` Auer, Lukas 0 siblings, 0 replies; 8+ messages in thread From: Auer, Lukas @ 2019-05-15 9:05 UTC (permalink / raw) To: u-boot On Wed, 2019-05-15 at 17:25 +0900, takahiro.akashi at linaro.org wrote: > On Wed, May 15, 2019 at 08:14:18AM +0000, Auer, Lukas 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@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@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@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 > > 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. > > > > Thanks, > > Lukas > > > > [1]: https://patchwork.ozlabs.org/patch/1094974/ > > Ah, it was a known issue. > But is there any better, or more flexible, way to fix that issue? > It was very difficult for me to find out a clue for root cause. > > Thanks, > -Takahiro Akashi One problem is that the serial console is not yet available when the out of memory error occurs. However with DEBUG_UART configured, U-Boot should print an error (I did not test this). We could also increase the default value of CONFIG_SYS_MALLOC_F_LEN, but this might not be possible on all boards. You are right, it would be good to have a better way of fixing this, but I am not sure what the best way of doing that is. Thanks, Lukas ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC 2019-05-15 8:14 ` Auer, Lukas 2019-05-15 8:25 ` takahiro.akashi at linaro.org @ 2019-05-15 8:29 ` Bin Meng 1 sibling, 0 replies; 8+ messages in thread From: Bin Meng @ 2019-05-15 8:29 UTC (permalink / raw) To: u-boot On Wed, May 15, 2019 at 4:14 PM Auer, Lukas <lukas.auer@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@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@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@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 ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-05-15 9:05 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-05-15 5:55 [U-Boot] [BUG] simple-bus and rsa-sw with DM_FLAG_PRE_RELOC AKASHI Takahiro 2019-05-15 6:45 ` Bin Meng 2019-05-15 7:12 ` AKASHI Takahiro 2019-05-15 7:39 ` Bin Meng 2019-05-15 8:14 ` Auer, Lukas 2019-05-15 8:25 ` takahiro.akashi at linaro.org 2019-05-15 9:05 ` Auer, Lukas 2019-05-15 8:29 ` Bin Meng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox