qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianne


From: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess
Date: Thu, 25 Jul 2013 16:59:31 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

On 07/25/2013 04:04 PM, Jan Kiszka wrote:
> On 2013-07-25 07:47, Benjamin Herrenschmidt wrote:
>> On Thu, 2013-07-25 at 15:26 +1000, Benjamin Herrenschmidt wrote:
>>> On Mon, 2013-07-22 at 10:34 -0500, Anthony Liguori wrote:
>>>>
>>>> Really nice series.  I'd prefer we simply got rid of the endianness
>>>> flag
>>>> entirely but this is a good step.
>>>>
>>>> Reviewed-by: Anthony Liguori <address@hidden>
>>>
>>> Are you going to merge this ?
>>>
>>> Afaik (Alexey just told me), pretty much anything IO is broken for
>>> powerpc upstream and has been for weeks now ! It looks like the only
>>> thing that got reverted was the VGA problem but everything else is still
>>> busted including virtio.
>>>
>>> Why hasn't the original breakage been reverted immediately instead ?
>>
>> It's actually worse than I thought. Alexey is showing me that in fact,
>> even PCI MMIO is busted, using EHCI causes qemu to segfault for example.
> 
> Can you be more specific? I suppose this is also on Power. Is it
> unrelated to the endianness topic?


Not sure what it is related to. It is fixed by "fix I/O port endianness
mess" series, at least Paolo's "iommu" branch does not have this problem.


Here is my command line:

./qemu-system-ppc64 -L "qemu-ppc64-bios/" -trace "events=qemu_trace_events"
-usb -device usb-ehci -usbdevice disk:format=qcow2:virtimg/fc19beta -m
"1024" -machine "pseries" -nographic -vga "none" -enable-kvm


Or without -enable-kvm, does not make any difference.

Here is what I get with the "master" branch from qemu.org:


[    0.313165] libphy: Fixed MDIO Bus: probed
[    0.313240] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.313311] ehci-pci: EHCI PCI platform driver
[    0.313889] ehci-pci 0000:00:01.0: EHCI Host Controller
[    0.313992] ehci-pci 0000:00:01.0: new USB bus registered, assigned bus
number 1

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x1fffffb8eef0 (LWP 32175)]
0x0000000010382408 in memory_region_oldmmio_write_accessor
(opaque=0x10c33a18, addr=0x9, value=0x1fffffb8e220,
    size=0x1, shift=0x0, mask=0xff) at
/home/alexey/pcipassthru/qemu-impreza/memory.c:384
warning: Source file is more recent than executable.
384         mr->ops->old_mmio.write[ctz32(size)](mr->opaque, addr, tmp);
(gdb) p mr->ops->old_mmio
$3 = {read = {0x0, 0x0, 0x0}, write = {0x0, 0x0, 0x0}}
(gdb) bt
#0  0x0000000010382408 in memory_region_oldmmio_write_accessor
(opaque=0x10c33a18, addr=0x9, value=0x1fffffb8e220,
    size=0x1, shift=0x0, mask=0xff) at
/home/alexey/pcipassthru/qemu-impreza/memory.c:384
#1  0x0000000010382650 in access_with_adjusted_size (addr=0x9,
value=0x1fffffb8e220, size=0x1, access_size_min=0x1,
    access_size_max=0x4, address@hidden: 0x1038235c
<memory_region_oldmmio_write_accessor>, opaque=0x10c33a18)
    at /home/alexey/pcipassthru/qemu-impreza/memory.c:433
#2  0x0000000010384ec8 in memory_region_dispatch_write (mr=0x10c33a18,
addr=0x9, data=0x0, size=0x1)
    at /home/alexey/pcipassthru/qemu-impreza/memory.c:978
#3  0x0000000010388508 in io_mem_write (mr=0x10c33a18, addr=0x9, val=0x0,
size=0x1)
    at /home/alexey/pcipassthru/qemu-impreza/memory.c:1737
#4  0x00000000102ebb40 in address_space_rw (as=0x10af9100
<address_space_memory>, addr=0x100b0001009,
    buf=0x1ffffffd0028 "", len=0x4, is_write=0x1) at
/home/alexey/pcipassthru/qemu-impreza/exec.c:1967
#5  0x00000000102ebfec in cpu_physical_memory_rw (addr=0x100b0001009,
buf=0x1ffffffd0028 "", len=0x4, is_write=0x1)
    at /home/alexey/pcipassthru/qemu-impreza/exec.c:2036
#6  0x000000001037f9d8 in kvm_cpu_exec (cpu=0x1fffffb90010) at
/home/alexey/pcipassthru/qemu-impreza/kvm-all.c:1673
#7  0x00000000102dba58 in qemu_kvm_cpu_thread_fn (arg=0x1fffffb90010)
    at /home/alexey/pcipassthru/qemu-impreza/cpus.c:785
#8  0x00000080c70cc29c in .start_thread () from /lib64/libpthread.so.0
#9  0x00000080c6fbd110 in .__clone () from /lib64/libc.so.6
(gdb)



-- 
Alexey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]