[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
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, (continued)
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Peter Maydell, 2013/07/22
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Paolo Bonzini, 2013/07/22
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Hervé Poussineau, 2013/07/22
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Alexander Graf, 2013/07/22
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Andreas Färber, 2013/07/22
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Paolo Bonzini, 2013/07/23
Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Anthony Liguori, 2013/07/22
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Benjamin Herrenschmidt, 2013/07/25
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Paolo Bonzini, 2013/07/25
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Benjamin Herrenschmidt, 2013/07/25
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Peter Maydell, 2013/07/25
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Paolo Bonzini, 2013/07/25
- Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Benjamin Herrenschmidt, 2013/07/25
Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Benjamin Herrenschmidt, 2013/07/25
Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Paolo Bonzini, 2013/07/25
Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Anthony Liguori, 2013/07/25
Re: [Qemu-devel] [PATCH 00/28] Memory API for 1.6: fix I/O port endianness mess, Peter Maydell, 2013/07/25