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.
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.