From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50403) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0AkP-0002vX-1P for qemu-devel@nongnu.org; Fri, 19 Jul 2013 09:29:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V0AkM-0002T4-JL for qemu-devel@nongnu.org; Fri, 19 Jul 2013 09:29:24 -0400 Received: from mail-pd0-f169.google.com ([209.85.192.169]:49525) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0AeZ-0000V7-N0 for qemu-devel@nongnu.org; Fri, 19 Jul 2013 09:23:23 -0400 Received: by mail-pd0-f169.google.com with SMTP id y10so4284551pdj.0 for ; Fri, 19 Jul 2013 06:23:22 -0700 (PDT) Message-ID: <51E93DC4.6090705@ozlabs.ru> Date: Fri, 19 Jul 2013 23:23:16 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <87vc5hro46.fsf@linux.vnet.ibm.com> <87sj0lrnih.fsf@linux.vnet.ibm.com> <51E93624.5040702@redhat.com> <51E937EE.20604@ozlabs.ru> <51E93912.2030505@redhat.com> <51E9399B.1050408@ozlabs.ru> In-Reply-To: <51E9399B.1050408@ozlabs.ru> Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] commit 08521e2 breaks SLOF usb boot List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Nikunj A Dadhania , Alexander Graf 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 writes: >>>>>> commit 08521e28c7e6e8cc1f53424a0f845f58d2ed9546 >>>>>> Author: Paolo Bonzini >>>>>> 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 >>>>>> Signed-off-by: Paolo Bonzini >>>>>> >>>>>> >>>>>> 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=, access_size_max=, >>>>>> access=0x5555557a1f80 , 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 , 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 , addr=0xd0fb0000802, pval=0x3fffffffdd30, size=0x2) at /home/alexey/pcipassthru/qemu-impreza/memory.c:962 #2 0x0000000010387038 in io_mem_read (mr=0x10aee190 , 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