
Hi Heinrich,
On Tue, 8 Feb 2022 at 08:34, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 2/8/22 15:52, Simon Glass wrote:
Hi Heinrich,
On Tue, 8 Feb 2022 at 01:21, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 2/7/22 19:19, Simon Glass wrote:
Hi Tom,
On Mon, 7 Feb 2022 at 09:49, Tom Rini trini@konsulko.com wrote:
On Mon, Feb 07, 2022 at 11:34:17AM -0500, Sean Anderson wrote:
On 2/7/22 10:53 AM, Heinrich Schuchardt wrote: > On 2/7/22 16:38, Simon Glass wrote: >> Hi, >> >> I am trying to run the SPL tests for riscv32 but it dies with an >> illegal instruction. I have tried building qemu 4.2 but it seems to >> happen on various versions. Has anyone seen this? > > Did you try to run qemu-riscv32_spl_defconfig in the Docker container we > are using for Gitlab?
No, I want to run it outside docker. I can see that it works in the docker container, but not sure why it fails for me.
> > We are using QEMU v6.1.0 according to tools/docker/Dockerfile. > > With all that duplicate output below it is hard to understand what is > going. Why is each byte written twice to the serial?
If I had to guess there are 2 harts, and they both trigger an illegal instruction. In situations like these, I have added a spinlock around puts.
There are 4 CPUs I think.
It might also be worth asking why such an old QEMU? I know my host-provided QEMU is 4.2.1 but I just don't use it since it's too old for everything we do, especially on something as fast moving as RISC-V.
I tried 6.x and went back to 4.2.1 because I thought that might be the problem.
And as an aside, if anyone has tips on changes that would need to be made to our Dockerfile so that some of those tools that let you run app from a container "normally" would work with our container, that'd be handy and appreciated.
I'm not sure what that means, probably because I am not an expert in that area.
Regards, Simon
Hello Simon,
The qemu-riscv32_spl_defconfig image built inside Docker with
wget -O - https://github.com/riscv/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.t... export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin tools/buildman/buildman -o build -w -E -W -e --board qemu-riscv32_spl
runs flawlessly on Ubuntu Jammy with:
qemu-system-riscv32 -nographic -machine virt -bios spl/u-boot-spl \ -device loader,file=u-boot.itb,addr=0x80200000 -smp cpus=4
This is a QEMU 6.0
Please, provide a reproducible instruction for your problem.
I wonder if the problem is the OPENSBI thing. I am not providing that, nor am I seeing a warning about it.
OpenSBI is needed to emulate unaligned access, access to CSR registers and so forth. I assume you cannot run qemu-riscv32_spl_defconfig.
A build warning if CONFIG_SPL_OPENSBI=y and OPENSBI is not defined might make sense.
OK, it seems we need a binman test that we warn on external blobs that are embedded in a FIT.
+Alper Nebi Yasak did a series that makes Fit a subclass of Section but even that does not help with the missing warning. Has anyone else noticed it?
Regards, Simon