On Wed, Sep 19, 2018 at 04:47:36PM +0200, Roman Kapl wrote: > Hi, > > On 09/19/2018 08:57 AM, Mark Cave-Ayland wrote: > > On 18/09/2018 22:12, Mark Cave-Ayland wrote: > > > > > Roman, can you reproduce this locally at all? My setup is nothing > > > special, just Debian Stretch on amd64. > > Ok, so I am able to reproduce it with your image and --enable-debug, but I > was not able to find the root cause, just narrow it. > > It seems that the `dcbz` instruction is not emulated correctly (which may > lead to some garbage in inittab?). However, if I manualy inline the > `helper_dcbz_common` code into `helper dcbz`, it starts to work. I just > literally copy it and add `int mmu_idx = env->dmmu_idx;` at the beginning. > That could be related to the `--disable-debug` flag, since the compiler will > inline the code when optimizations are enabled.
Ouch. That almost sounds like a compiler bug - have you tried with some different compiler versions? > If you have any debugging ideas, they would be welcome. Maybe there are some > helper call limitations? Anyway, I will look at it again tomorrow. > > Apart from that, I've found some problems in my EPID patch, I will send a > fix shortly. Namely the instructions are enabled outside of Booke206, one > unrelated instruction had its opcode chcnaged by mistake and the slow path > for dbczep is wrong. However, these problems are not related to the problem > with your image. > > Thanks, Roman Kapl > > > > > I've just realised that because this bug is still dependent upon queued > > patches, it > > would make sense for me to push a slightly modified version of David's > > ppc-for-3.1 > > branch to github to help reproduce the issue. Below are the instructions on > > how to > > reproduce the bug locally: > > > > > > 1) Grab the 40p test image from > > http://www.juneau-lug.org/zImage.initrd.sandalfoot > > > > 2) Fetch my slightly-modified ppc-for-3.1 branch from > > https://github.com/mcayland/qemu/tree/ppc-for-3.1-regression > > > > 3) Build QEMU with --enable-debug: > > > > ./configure --target-list=ppc-softmmu --enable-debug > > make > > > > 4) Boot the 40p test image: > > > > ./ppc-softmmu/qemu-system-ppc -cdrom zImage.initrd.sandalfoot -boot d -M 40p > > > > You will see that the test image fails at the end of boot with messages > > like this: > > > > Bad inittab entry: > > Bad inittab entry: > > No more tasks for init -- sleeping forever > > > > 5) Now remove the "target/ppc: add external PID support" patch from the > > above branch: > > > > git checkout HEAD~1 > > make > > > > 6) Boot the 40p test image again: > > > > ./ppc-softmmu/qemu-system-ppc -cdrom zImage.initrd.sandalfoot -boot d -M 40p > > > > You will see that the test image now boots successfully to the "Please > > press Enter to > > activate this console" message. > > > > > > ATB, > > > > Mark. > > > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature