Thread (32 messages) flat view 32 messages, 4 authors, 2013-08-19

[Qemu-devel] SCSI bus failures with qemu-arm in kernel 3.8+

From: linux@roeck-us.net (Guenter Roeck)
Date: 2013-08-15 18:39:06
Also in: lkml, qemu-devel

On Thu, Aug 15, 2013 at 07:05:22PM +0100, Peter Maydell wrote:
On 15 August 2013 18:54, Guenter Roeck [off-list ref] wrote:
quoted
On Thu, Aug 15, 2013 at 05:45:42PM +0100, Peter Maydell wrote:
quoted
On 13 August 2013 04:40, Guenter Roeck [off-list ref] wrote:
quoted
Patch tested and working with qemu 1.5.2, using the configuration file
from the yocto project. Patch applied on top of kernel version 3.11-rc5.
OK, I tested this on PB926+PCI backplane hardware, and it is
definitely better than current mainline, in that the test USB
card that I have no longer causes the kernel to generate this sort of
backtrace:
Do you mean my patch fixes the traceback below as a side effect ?
Would be great ... it would be one more reason to get it applied.
Yes, exactly -- the kernel currently has the wrong irq mapping,
which causes the traceback (ie h/w asserts irq 93 but the kernel
is listening on something else). That the patch fixes this confirms
that it is the behaviour of hardware as well as of QEMU.
quoted
quoted
However it still doesn't seem to reliably detect the USB harddisk
plugged into the card, so I think there may be further issues, possibly
some subset of those Arnd identified and fixed with this patch:
http://permalink.gmane.org/gmane.linux.ports.arm.kernel/93397
Does it get better if you apply Arnd's patch ?
Arnd's patch is ancient and won't apply as is (due to intervening
changes and also because some of the things it fixes were fixed
in later patches); I'm currently trying to extract the relevant parts.

If you want you can confirm that I/O port PCI access is broken on
QEMU too -- disable CONFIG_SCSI_SYM53C8XX_MMIO so
the driver uses PCI IO rather than MMIO and you'll see QEMU's
SCSI device doesn't work any more.
quoted
quoted
so I'd like to continue testing.

The other thing this patch should (IMHO) have is the
line in pci_versatile_setup() which tells QEMU that the
kernel really does expect hardware-like behaviour:
quoted
quoted
(Without this line QEMU will guess whether the kernel is broken
or not and will get it right most but not necessarily all of the time.)
Might make sense, but I think it should be a separate patch.
It needs to go in the same patch, because a kernel with the fixed
irq remapping must also tell QEMU it is fixed; if you split the
two then at the point between the two patches the kernel is
broken for bisection purposes.
quoted
If I understand correctly, my patch fixes the SCSI problem.
Is that correct ? If so, can we get it applied to mainline ?
I'd rather get to a point where I have the hardware definitely
completely working first. There's no real hurry, this has been
broken for months and months.
Ok with me, if it doesn't get lost.

Until it gets fixed, arm status on 3.10 kernels will show as "failed"
for qemu test runs.

Thanks,
Guenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help