qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 1138f2: qemu-gdb: allow using glibc_pointer_g


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 1138f2: qemu-gdb: allow using glibc_pointer_guard() on cor...
Date: Fri, 30 Oct 2015 15:00:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 1138f24645e9e1e2d55d280caab4e2539dfcdb49
      
https://github.com/qemu/qemu/commit/1138f24645e9e1e2d55d280caab4e2539dfcdb49
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M scripts/qemugdb/coroutine.py

  Log Message:
  -----------
  qemu-gdb: allow using glibc_pointer_guard() on core dumps

get_fs_base() cannot be run on a core dump, because it uses the arch_prctl
system call.  The fs base is the value that is returned by pthread_self(),
and it would be nice to just glean it from the "info threads" output:

* 1    Thread 0x7f16a3fff700 (LWP 33642) pthread_cond_wait@@GLIBC_2.3.2 ()
        ^^^^^^^^^^^^^^

but unfortunately the gdb API does not provide that.  Instead, we can
look for the "arg" argument of the start_thread function if glibc debug
information are available.  If not, fall back to the old mechanism.

Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 80ab31b257ba3aaa98ce6f1e36592aa20c5366c1
      
https://github.com/qemu/qemu/commit/80ab31b257ba3aaa98ce6f1e36592aa20c5366c1
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M scripts/qemugdb/coroutine.py

  Log Message:
  -----------
  qemu-gdb: extract parts of "qemu coroutine" implementation

Provide useful Python functions to reach and decipher a jmpbuf.

Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: a201b0ff28d9fa0f965450c1ba7191eca69f9fd5
      
https://github.com/qemu/qemu/commit/a201b0ff28d9fa0f965450c1ba7191eca69f9fd5
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M scripts/qemu-gdb.py
    M scripts/qemugdb/coroutine.py

  Log Message:
  -----------
  qemu-gdb: add $qemu_coroutine_sp and $qemu_coroutine_pc

These can be useful to manually get a stack trace of a coroutine inside
a core dump.

Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 54d8ec84fa444ed7c05e03f96895ba69a2b2e5bc
      
https://github.com/qemu/qemu/commit/54d8ec84fa444ed7c05e03f96895ba69a2b2e5bc
  Author: Cornelia Huck <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390x: include HW_COMPAT_* props

We want to inherit generic hw compat as well.

Signed-off-by: Cornelia Huck <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 80fd50f96b8dc46e185f61d9b6438a6414507076
      
https://github.com/qemu/qemu/commit/80fd50f96b8dc46e185f61d9b6438a6414507076
  Author: Cornelia Huck <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  ppc/spapr: add 2.4 compat props

HW_COMPAT_2_4 will become non-empty: prepare for it.

Signed-off-by: Cornelia Huck <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: ed65fd1a2750d24290354cc7ea49caec7c13e30b
      
https://github.com/qemu/qemu/commit/ed65fd1a2750d24290354cc7ea49caec7c13e30b
  Author: Cornelia Huck <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/compat.h

  Log Message:
  -----------
  virtio-blk: switch off scsi-passthrough by default

Devices that are compliant with virtio-1 do not support scsi
passthrough any more (and it has not been a recommended setup
anyway for quite some time). To avoid having to switch it off
explicitly in newer qemus that turn on virtio-1 by default, let's
switch the default to scsi=false for 2.5.

Signed-off-by: Cornelia Huck <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: c900ef86c5e30e1adec0f79350edc3f30ebee285
      
https://github.com/qemu/qemu/commit/c900ef86c5e30e1adec0f79350edc3f30ebee285
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M scripts/qemu-gdb.py
    A scripts/qemugdb/aio.py

  Log Message:
  -----------
  gdb command: qemu handlers

A new gdb commands are added:

  qemu handlers

     That dumps an AioContext list (by default qemu_aio_context)
     possibly including a backtrace for cases it knows about
     (with the verbose option).  Intended to help find why something
     is hanging waiting for IO.

  Use 'qemu handlers --verbose iohandler_ctx'  to find out why
your incoming migration is stuck.

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Message-id: address@hidden

V2:
  Merge into one command with optional handlers arg, and only do
    backtrace in verbose mode

 (gdb) qemu handlers
 ----
 {pfd = {fd = 6, events = 25, revents = 0}, io_read = 0x55869656ffd0
 <event_notifier_dummy_cb>, io_write = 0x0, deleted = 0, opaque =
 0x558698c4ce08, node = {le_next = 0x0, le_prev = 0x558698c4cdc0}}

 (gdb) qemu handlers iohandler_ctx
 ----
 {pfd = {fd = 9, events = 25, revents = 0}, io_read = 0x558696581380
 <fd_coroutine_enter>, io_write = 0x0, deleted = 0, opaque =
 0x558698dc99d0, node = {le_next = 0x558698c4cca0, le_prev =
 0x558698c4c1d0}}
 ----
 {pfd = {fd = 4, events = 25, revents = 0}, io_read = 0x55869657b330
 <sigfd_handler>, io_write = 0x0, deleted = 0, opaque = 0x4, node =
 {le_next = 0x558698c4c260, le_prev = 0x558699f72508}}
 ----
 {pfd = {fd = 5, events = 25, revents = 0}, io_read = 0x55869656ffd0
 <event_notifier_dummy_cb>, io_write = 0x0, deleted = 0, opaque =
 0x558698c4c218, node = {le_next = 0x0, le_prev = 0x558698c4ccc8}}
 ----
 (gdb) qemu handlers --verbose iohandler_ctx
 ----
 {pfd = {fd = 9, events = 25, revents = 0}, io_read = 0x558696581380
 <fd_coroutine_enter>, io_write = 0x0, deleted = 0, opaque =
 0x558698dc99d0, node = {le_next = 0x558698c4cca0, le_prev =
 0x558698c4c1d0}}
 #0  0x0000558696581820 in qemu_coroutine_switch
 (address@hidden, address@hidden,
 address@hidden) at
 /home/dgilbert/git/qemu/coroutine-ucontext.c:177
 #1  0x0000558696580c00 in qemu_coroutine_yield () at
 /home/dgilbert/git/qemu/qemu-coroutine.c:145
 #2  0x00005586965814f5 in yield_until_fd_readable (fd=9) at
 /home/dgilbert/git/qemu/qemu-coroutine-io.c:90
 #3  0x0000558696523937 in socket_get_buffer (opaque=0x55869a3dc620,
 buf=0x558698c505a0 "", pos=<optimized out>, size=32768) at
 /home/dgilbert/git/qemu/migration/qemu-file-unix.c:101
 #4  0x0000558696521fac in qemu_fill_buffer (f=0x558698c50570) at
 /home/dgilbert/git/qemu/migration/qemu-file.c:227
 #5  0x0000558696522989 in qemu_peek_byte (f=0x558698c50570, offset=0)
     at /home/dgilbert/git/qemu/migration/qemu-file.c:507
 #6  0x0000558696522bf4 in qemu_get_be32 (f=0x558698c50570) at
 /home/dgilbert/git/qemu/migration/qemu-file.c:520
 #7  0x0000558696522bf4 in qemu_get_be32 (address@hidden)
     at /home/dgilbert/git/qemu/migration/qemu-file.c:604
 #8  0x0000558696347e5c in qemu_loadvm_state (address@hidden)
     at /home/dgilbert/git/qemu/migration/savevm.c:1821
 #9  0x000055869651de8c in process_incoming_migration_co
 (opaque=0x558698c50570)
     at /home/dgilbert/git/qemu/migration/migration.c:336
 #10 0x000055869658188a in coroutine_trampoline (i0=<optimized out>,
 i1=<optimized out>)
     at /home/dgilbert/git/qemu/coroutine-ucontext.c:80
 #11 0x00007f420f05df10 in __start_context () at /lib64/libc.so.6
 #12 0x00007ffc40815f50 in  ()
 #13 0x0000000000000000 in  ()

  ----
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 10a06fd65f667a972848ebbbcac11bdba931b544
      
https://github.com/qemu/qemu/commit/10a06fd65f667a972848ebbbcac11bdba931b544
  Author: Pavel Butsykin <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M hw/block/virtio-blk.c
    M hw/scsi/virtio-scsi.c

  Log Message:
  -----------
  virtio: sync the dataplane vring state to the virtqueue before virtio_save

When creating snapshot with the dataplane enabled, the snapshot file gets
not the actual state of virtqueue, because the current state is stored in
VirtIOBlockDataPlane. Therefore, before saving snapshot need to sync
the dataplane vring state to the virtqueue. The dataplane will resume its
work at the next notify virtqueue.

When snapshot loads with loadvm we get a message:
VQ 0 size 0x80 Guest index 0x15f5 inconsistent with Host index 0x0:
    delta 0x15f5
error while loading state for instance 0x0 of device
    '0000:00:08.0/virtio-blk'
Error -1 while loading VM state

to reproduce the error I used the following hmp commands:
savevm snap1
loadvm snap1

qemu parameters:
--enable-kvm -smp 4 -m 1024 -drive 
file=/var/lib/libvirt/images/centos6.4.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,aio=native
 -device 
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk0,id=virtio-disk0
 -set device.virtio-disk0.x-data-plane=on

Signed-off-by: Pavel Butsykin <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Message-id: address@hidden
CC: Stefan Hajnoczi <address@hidden>
CC: "Michael S. Tsirkin" <address@hidden>
CC: Kevin Wolf <address@hidden>
CC: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e3382ef0ea2724f5f09271a608e8f68ede5d844d
      
https://github.com/qemu/qemu/commit/e3382ef0ea2724f5f09271a608e8f68ede5d844d
  Author: Sai Pavan Boddu <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M hw/sd/milkymist-memcard.c
    M hw/sd/omap_mmc.c
    M hw/sd/pl181.c
    M hw/sd/pxa2xx_mmci.c
    M hw/sd/sd.c
    M hw/sd/sdhci.h
    M hw/sd/ssi-sd.c
    R include/hw/sd.h
    A include/hw/sd/sd.h

  Log Message:
  -----------
  sd.h: Move sd.h to include/hw/sd/

Create a sd directory under include/hw/ and move sd.h to
include/hw/sd/

Signed-off-by: Sai Pavan Boddu <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 637d23beb607765033067c5cb08e0d66afaf8f4c
      
https://github.com/qemu/qemu/commit/637d23beb607765033067c5cb08e0d66afaf8f4c
  Author: Sai Pavan Boddu <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    A hw/sd/sdhci-internal.h
    M hw/sd/sdhci.c
    R hw/sd/sdhci.h
    A include/hw/sd/sdhci.h

  Log Message:
  -----------
  sdhci: Split sdhci.h for public and internal device usage

Split sdhci.h into pubilc version (i.e include/hw/sd/sdhci.h) and
internal version (i.e hw/sd/sdhci-interna.h) based on register
declarations and object declaration.

Signed-off-by: Sai Pavan Boddu <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 33108e9f3388b07b7daa4e46d476ff89ce7dbec5
      
https://github.com/qemu/qemu/commit/33108e9f3388b07b7daa4e46d476ff89ce7dbec5
  Author: Sai Pavan Boddu <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M hw/arm/xlnx-zynqmp.c
    M include/hw/arm/xlnx-zynqmp.h

  Log Message:
  -----------
  target-arm: xlnx-zynqmp: Add sdhci support.

Add two SYSBUS_SDHCI devices for xlnx-zynqmp

Signed-off-by: Sai Pavan Boddu <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 37a639a7fbc5c6b065c80e7e2de78d22af735496
      
https://github.com/qemu/qemu/commit/37a639a7fbc5c6b065c80e7e2de78d22af735496
  Author: Kevin Wolf <address@hidden>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Consider all child nodes in bdrv_requests_pending()

The function manually recursed into bs->file and bs->backing to check
whether there were any requests pending, but it ignored other children.

There's no need to special case file and backing here, so just replace
these two explicit recursions by a loop recursing for all child nodes.

Reported-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 3a958f559ecd0511583d27b10011fa7f3cf79b63
      
https://github.com/qemu/qemu/commit/3a958f559ecd0511583d27b10011fa7f3cf79b63
  Author: Peter Maydell <address@hidden>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M block/io.c
    M hw/arm/xlnx-zynqmp.c
    M hw/block/virtio-blk.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/scsi/virtio-scsi.c
    M hw/sd/milkymist-memcard.c
    M hw/sd/omap_mmc.c
    M hw/sd/pl181.c
    M hw/sd/pxa2xx_mmci.c
    M hw/sd/sd.c
    A hw/sd/sdhci-internal.h
    M hw/sd/sdhci.c
    R hw/sd/sdhci.h
    M hw/sd/ssi-sd.c
    M include/hw/arm/xlnx-zynqmp.h
    M include/hw/compat.h
    R include/hw/sd.h
    A include/hw/sd/sd.h
    A include/hw/sd/sdhci.h
    M scripts/qemu-gdb.py
    A scripts/qemugdb/aio.py
    M scripts/qemugdb/coroutine.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into 
staging

# gpg: Signature made Thu 29 Oct 2015 18:09:16 GMT using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"

* remotes/stefanha/tags/block-pull-request:
  block: Consider all child nodes in bdrv_requests_pending()
  target-arm: xlnx-zynqmp: Add sdhci support.
  sdhci: Split sdhci.h for public and internal device usage
  sd.h: Move sd.h to include/hw/sd/
  virtio: sync the dataplane vring state to the virtqueue before virtio_save
  gdb command: qemu handlers
  virtio-blk: switch off scsi-passthrough by default
  ppc/spapr: add 2.4 compat props
  s390x: include HW_COMPAT_* props
  qemu-gdb: add $qemu_coroutine_sp and $qemu_coroutine_pc
  qemu-gdb: extract parts of "qemu coroutine" implementation
  qemu-gdb: allow using glibc_pointer_guard() on core dumps

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/e79ea9e42409...3a958f559ecd

reply via email to

[Prev in Thread] Current Thread [Next in Thread]