|
From: | Roman Kapl |
Subject: | Re: [Qemu-devel] [Qemu-ppc] [PATCH v3 0/2] 40p: fix PCI interrupt routing |
Date: | Wed, 19 Sep 2018 16:47:36 +0200 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |