From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerhard Wiesinger Subject: Re: [Qemu-devel] [PATCH 0/2] Fix wide ioport access cracking Date: Thu, 11 Aug 2011 21:01:20 +0200 (CEST) Message-ID: References: <1313048426-17273-1-git-send-email-avi@redhat.com> <4E43927B.90606@redhat.com> <4E4392F7.8020002@redhat.com> <4E43A482.5040401@redhat.com> <4E440169.8030403@redhat.com> <4E4401DE.9090504@redhat.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from chello084112167138.7.11.vie.surfer.at ([84.112.167.138]:58077 "EHLO wiesinger.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751984Ab1HKTCy (ORCPT ); Thu, 11 Aug 2011 15:02:54 -0400 In-Reply-To: <4E4401DE.9090504@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, 11 Aug 2011, Avi Kivity wrote: > Or maybe it's just -O2 screwing up debug information. Please change > ./configure to set -O1 and redo. > > Please print *r.memory as well. ./configure --target-list=x86_64-softmmu,i386-softmmu --enable-debug Rest below. Ciao, Gerhard -- http://www.wiesinger.com/ (gdb) bt #0 0x0000003a060328f5 in raise () from /lib64/libc.so.6 #1 0x0000003a060340d5 in abort () from /lib64/libc.so.6 #2 0x0000003a0602b8b5 in __assert_fail () from /lib64/libc.so.6 #3 0x0000000000447ace in memory_region_del_subregion (mr=0x20002c802f0, subregion=0x2de0000) at /root/download/qemu/git/qemu-kvm-test/memory.c:1168 #4 0x0000000000427671 in pci_update_mappings (d=0x2de8b80) at /root/download/qemu/git/qemu-kvm-test/hw/pci.c:1134 #5 0x0000000000427a7a in pci_default_write_config (d=0x2de8b80, addr=4, val=0, l=2) at /root/download/qemu/git/qemu-kvm-test/hw/pci.c:1213 #6 0x00000000005c33bf in pci_host_config_write_common (pci_dev=0x2de8b80, addr=4, limit=256, val=7, len=2) at /root/download/qemu/git/qemu-kvm-test/hw/pci_host.c:54 #7 0x00000000005c34d1 in pci_data_write (s=0x2cafb10, addr=2147489796, val=7, len=2) at /root/download/qemu/git/qemu-kvm-test/hw/pci_host.c:75 #8 0x00000000005c36b1 in pci_host_data_write (handler=0x2cafae0, addr=3324, val=7, len=2) at /root/download/qemu/git/qemu-kvm-test/hw/pci_host.c:125 #9 0x000000000043937c in ioport_simple_writew (opaque=0x2cafae0, addr=3324, value=7) at /root/download/qemu/git/qemu-kvm-test/rwhandler.c:50 #10 0x00000000004a82f5 in ioport_write (index=1, address=3324, data=7) at ioport.c:81 #11 0x00000000004a8d51 in cpu_outw (addr=3324, val=7) at ioport.c:280 #12 0x0000000000441066 in kvm_handle_io (port=3324, data=0x7f58b0304000, direction=1, size=2, count=1) at /root/download/qemu/git/qemu-kvm-test/kvm-all.c:858 #13 0x00000000004415d1 in kvm_cpu_exec (env=0x2c89b00) at /root/download/qemu/git/qemu-kvm-test/kvm-all.c:997 #14 0x000000000040bddf in qemu_kvm_cpu_thread_fn (arg=0x2c89b00) at /root/download/qemu/git/qemu-kvm-test/cpus.c:806 #15 0x0000003a06807761 in start_thread () from /lib64/libpthread.so.0 #16 0x0000003a060e098d in clone () from /lib64/libc.so.6 (gdb) frame 4 #4 0x0000000000427671 in pci_update_mappings (d=0x2de8b80) at /root/download/qemu/git/qemu-kvm-test/hw/pci.c:1134 1134 memory_region_del_subregion(r->address_space, r->memory); (gdb) print i $1 = 0 (gdb) print *r $2 = {addr = 22058952032257, size = 32, filtered_size = 171717340864446496, type = 1 '\001', memory = 0x2de0000, address_space = 0x20002c802f0} (gdb) print d->io_regions[0] $3 = {addr = 22058952032257, size = 32, filtered_size = 171717340864446496, type = 1 '\001', memory = 0x2de0000, address_space = 0x20002c802f0} (gdb) print d->io_regions[1] $4 = {addr = 17113088, size = 32, filtered_size = 32, type = 0 '\000', memory = 0x2de9188, address_space = 0x2c80000} (gdb) print d->io_regions[2] $5 = {addr = 0, size = 0, filtered_size = 0, type = 0 '\000', memory = 0x0, address_space = 0x0} (gdb) print d->io_regions[3] $6 = {addr = 0, size = 0, filtered_size = 0, type = 207 '\317', memory = 0x0, address_space = 0x0} (gdb) print d->io_regions[4] $7 = {addr = 0, size = 0, filtered_size = 0, type = 0 '\000', memory = 0x0, address_space = 0x0} (gdb) print d->io_regions[5] $8 = {addr = 0, size = 0, filtered_size = 0, type = 0 '\000', memory = 0x0, address_space = 0x0} (gdb) print d->io_regions[6] $9 = {addr = 0, size = 0, filtered_size = 0, type = 0 '\000', memory = 0x0, address_space = 0x0} (gdb) print *r.memory $10 = {ops = 0x615f646e6573000a, opaque = 0x646d635f69706174, parent = 0x2064616572203a20, size = 8297917989298270821, addr = 3469246654059929972, offset = 2683426788631148594, backend_registered = 48, ram_addr = 7597679723851768942, iorange = {ops = 0x44203a20646d635f, base = 8295758535554257234, len = 8386112019083850853}, terminates = 117, alias = 0x6d635f627375000a, alias_offset = 7575161725715242852, priority = 1881488740, may_overlap = 32, subregions = {tqh_first = 0x6f632064253d6574, tqh_last = 0x622064253d746e75}, subregions_link = {tqe_next = 0x6675622064253d73, tqe_prev = 0x425355000a70253d}, coalesced = {tqh_first = 0x696d736e61727420, tqh_last = 0x6166206e6f697373}, name = 0x7473000a64656c69
, dirty_log_mask = 117 'u', ioeventfd_nb = 1680161395, ioeventfds = 0x5f6b736964000a3a}