On Wed, 28 Aug 2024 at 08:22, Michael Tokarev <m...@tls.msk.ru> wrote: > > 05.03.2024 16:52, Peter Maydell wrote: > > From: Richard Henderson <richard.hender...@linaro.org> > > > > If translation is disabled, the default memory type is Device, which > > requires alignment checking. This is more optimally done early via > > the MemOp given to the TCG memory operation. > > > > Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> > > Reported-by: Idan Horowitz <idan.horow...@gmail.com> > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > > Message-id: 20240301204110.656742-6-richard.hender...@linaro.org > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1204 > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > > Hi! > > Apparently this change also breaks picolibc testsuite (between > 8.2 and 9.0, bisect points to this commit). > > For example: > > ./qemu-system-arm \ > -m 1G \ > -chardev stdio,mux=on,id=stdio0 \ > -semihosting-config enable=on,chardev=stdio0,arg=program-name \ > -monitor none \ > -serial none \ > -machine none,accel=tcg \ > -cpu cortex-a8 \ > -device > loader,file=/tmp/picolibc-1.8.6/arm-none-eabi/test/printf_scanf_thumb_v7_fp_softfp,cpu-num=0 > \ > -nographic > > (yes, this testsuite uses qemu-system as a substitute of > qemu-user, sort of, (ab)using -device loader)
My immediate guess is that this code won't run on real hardware either -- i.e. that is bare-metal code that was only ever tested and run on QEMU and was previously relying on the incorrect behaviour that we didn't enforce the alignment checks that we're supposed to do when the MMU is off. We'd need to look at the picolibc test harness and build system to be sure, but it needs to do one of: * tell the compiler never to generate nonaligned accesses * set up at least a simple 1:1 set of page tables and turn on the MMU before jumping to C code and my first move would be to check whether it is trying to do either of those things. thanks -- PMM