From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>,
Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] commit 08521e2 breaks SLOF usb boot
Date: Fri, 19 Jul 2013 23:23:16 +1000 [thread overview]
Message-ID: <51E93DC4.6090705@ozlabs.ru> (raw)
In-Reply-To: <51E9399B.1050408@ozlabs.ru>
On 07/19/2013 11:05 PM, Alexey Kardashevskiy wrote:
> On 07/19/2013 11:03 PM, Paolo Bonzini wrote:
>> Il 19/07/2013 14:58, Alexey Kardashevskiy ha scritto:
>>> On 07/19/2013 10:50 PM, Paolo Bonzini wrote:
>>>> Il 14/06/2013 12:32, Nikunj A Dadhania ha scritto:
>>>>> Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> writes:
>>>>>> commit 08521e28c7e6e8cc1f53424a0f845f58d2ed9546
>>>>>> Author: Paolo Bonzini <pbonzini@redhat.com>
>>>>>> Date: Fri May 24 12:54:01 2013 +0200
>>>>>>
>>>>>> memory: add big endian support to access_with_adjusted_size
>>>>>>
>>>>>> This will be used to split 8-byte access down to two four-byte accesses.
>>>>>>
>>>>>> Reviewed-by: Richard Henderson <rth@twiddle.net>
>>>>>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>>>>>>
>>>>>>
>>>>>> If I hack the above funniness in my USB EHCI driver, somewhere down the
>>>>>> qemu crashes at code introduced by this patch:
>>>>>>
>>>>>> Program received signal SIGSEGV, Segmentation fault.
>>>>>> 0x0000000000000000 in ?? ()
>>>>>> (gdb) bt
>>>>>> #0 0x0000000000000000 in ?? ()
>>>>>> #1 0x00005555557a0ea4 in access_with_adjusted_size (addr=addr@entry=12, value=value@entry=0x7fffd5a86680, size=size@entry=1, access_size_min=<optimized out>, access_size_max=<optimized out>,
>>>>>> access=0x5555557a1f80 <memory_region_oldmmio_write_accessor>, opaque=0x5555567f8ab8) at /home/nikunj/work/power/code/qemu/memory.c:396
>>>>>> #2 0x00005555557a5ebb in memory_region_dispatch_write (size=1, data=0, addr=12, mr=0x5555567f8ab8) at /home/nikunj/work/power/code/qemu/memory.c:998
>>>>>>
>>>>>> Reverting this, I can safely boot using a usb-storage device put on ehci controller.
>>>>>
>>>>> Just reverting this patch does not help though, i will need to figure
>>>>> which all commits are bad.
>>>>
>>>> Hi Nikunj,
>>>>
>>>> can you try the attached patch?
>>>>
>>>> Alexey, with some luck it may even fix virtio-blk too.
>>>
>>>
>>> Heh. Bad luck. The behaviour has changed slightly but it still does not work.
>>
>> How changed?
>
>
> See below. I am trying to debug :)
Fails here. io_mem_unassigned. Are you on any IRC?
(gdb) bt
#0 memory_region_access_valid (mr=0x10aee190 <io_mem_unassigned>,
addr=0xd0fb0000802, size=0x2,
is_write=0x0) at /home/alexey/pcipassthru/qemu-impreza/memory.c:931
#1 0x00000000103838c0 in memory_region_dispatch_read (mr=0x10aee190
<io_mem_unassigned>,
addr=0xd0fb0000802, pval=0x3fffffffdd30, size=0x2) at
/home/alexey/pcipassthru/qemu-impreza/memory.c:962
#2 0x0000000010387038 in io_mem_read (mr=0x10aee190 <io_mem_unassigned>,
addr=0xd0fb0000802,
pval=0x3fffffffdd30, size=0x2) at
/home/alexey/pcipassthru/qemu-impreza/memory.c:1740
#3 0x00000000102ebde0 in lduw_phys_internal (addr=0xd0fb0000802,
endian=DEVICE_NATIVE_ENDIAN)
at /home/alexey/pcipassthru/qemu-impreza/exec.c:2390
#4 0x00000000102ebed8 in lduw_phys (addr=0xd0fb0000802)
at /home/alexey/pcipassthru/qemu-impreza/exec.c:2422
#5 0x000000001037387c in vring_avail_idx (vq=0x10c16e30)
at /home/alexey/pcipassthru/qemu-impreza/hw/virtio/virtio.c:138
#6 0x000000001037429c in virtqueue_num_heads (vq=0x10c16e30, idx=0x0)
at /home/alexey/pcipassthru/qemu-impreza/hw/virtio/virtio.c:285
#7 0x0000000010374a74 in virtqueue_pop (vq=0x10c16e30, elem=0x10c34c08)
at /home/alexey/pcipassthru/qemu-impreza/hw/virtio/virtio.c:441
#8 0x000000001030c1bc in virtio_blk_get_request (s=0x10c1c2f8)
at /home/alexey/pcipassthru/qemu-impreza/hw/block/virtio-blk.c:118
#9 0x000000001030cfb8 in virtio_blk_handle_output (vdev=0x10c1c2f8,
vq=0x10c16e30)
at /home/alexey/pcipassthru/qemu-impreza/hw/block/virtio-blk.c:411
#10 0x0000000010375c48 in virtio_queue_notify_vq (vq=0x10c16e30)
at /home/alexey/pcipassthru/qemu-impreza/hw/virtio/virtio.c:687
#11 0x000000001037776c in virtio_queue_host_notifier_read (n=0x10c16e80)
at /home/alexey/pcipassthru/qemu-impreza/hw/virtio/virtio.c:1071
#12 0x000000001020fe74 in qemu_iohandler_poll (pollfds=0x10bb1a00, ret=0x2)
at /home/alexey/pcipassthru/qemu-impreza/iohandler.c:143
#13 0x0000000010210c4c in main_loop_wait (nonblocking=0x0)
at /home/alexey/pcipassthru/qemu-impreza/main-loop.c:466
#14 0x00000000102c97d4 in main_loop () at
/home/alexey/pcipassthru/qemu-impreza/vl.c:2090
#15 0x00000000102d2c80 in main (argc=0x16, argv=0x3ffffffff1b8,
envp=0x3ffffffff270)
at /home/alexey/pcipassthru/qemu-impreza/vl.c:4432
>
> SLOF **********************************************************************
> QEMU Starting
> Build Date = Apr 30 2013 14:04:00
> FW Version = git-8cfdfc43f4c4c8c8
> Press "s" to enter Open Firmware.
>
> Populating /vdevice methods
> Populating /vdevice/nvram@71000000
>
> NVRAM: size=65536, fetch=200E, store=200F
> Populating /vdevice/vty@71000001
> Populating /pci@800000020000000
> Adapters on 0800000020000000
> 00 0000 (D) : 1af4 1001 virtio [ block ]
> No NVRAM common partition, re-initializing...
> claim failed!
> Using default console: /vdevice/vty@71000001
>
> Welcome to Open Firmware
>
> Copyright (c) 2004, 2011 IBM Corporation All rights reserved.
> This program and the accompanying materials are made available
> under the terms of the BSD License available at
> http://www.opensource.org/licenses/bsd-license.php
>
>
> Trying to load: from: disk ... qemu-system-ppc64: Guest moved used index
> from 0 to 65535
>
>
>
--
Alexey
next prev parent reply other threads:[~2013-07-19 13:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-14 10:19 [Qemu-devel] commit 08521e2 breaks SLOF usb boot Nikunj A Dadhania
2013-06-14 10:32 ` Nikunj A Dadhania
2013-07-19 12:50 ` Paolo Bonzini
2013-07-19 12:58 ` Alexey Kardashevskiy
2013-07-19 13:03 ` Paolo Bonzini
2013-07-19 13:05 ` Alexey Kardashevskiy
2013-07-19 13:23 ` Alexey Kardashevskiy [this message]
2013-07-25 6:04 ` Nikunj A Dadhania
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51E93DC4.6090705@ozlabs.ru \
--to=aik@ozlabs.ru \
--cc=agraf@suse.de \
--cc=nikunj@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).