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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.