1. 28 Aug, 2018 4 commits
  2. 27 Aug, 2018 12 commits
  3. 14 Aug, 2018 1 commit
  4. 07 Aug, 2018 3 commits
    • Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Peter Maydell authored
    • With vga=775 on the Linux command line a first boot of the VM running
      Linux works fine. After a warm reboot it crashes during Linux boot.
      
      Before that, valgrind points out bad memory write to console
      surface. The VGA code is not aware that virtio-gpu got a message
      surface scanout when the display is disabled. Let's reset VGA graphic
      mode when it is the case, so that a new display surface is created
      when doing further VGA operations.
      
      https://bugs.launchpad.net/qemu/+bug/1784900/
      
      Reported-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
      Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
      Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
      Tested-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
      Message-id: 20180803153235.4134-1-marcandre.lureau@redhat.com
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Marc-André Lureau authored
    • The data in an mbuf buffer is not necessarily at the start of the
      allocated buffer. (For instance m_adj() allows data to be trimmed
      from the start by just advancing the pointer and reducing the length.)
      This means that the allocated buffer size (m->m_size) and the
      amount of space from the m_data pointer to the end of the
      buffer (M_ROOM(m)) are not necessarily the same.
      
      Commit 864036e2 tried to change the m_inc() function from
      taking the new allocated-buffer-size to taking the new room-size,
      but forgot to change the initial "do we already have enough space"
      check. This meant that if we were trying to extend a buffer which
      had a leading gap between the buffer start and the data, we might
      incorrectly decide it didn't need to be extended, and then
      overrun the end of the buffer, causing memory corruption and
      an eventual crash.
      
      Change the "already big enough?" condition from checking the
      argument against m->m_size to checking against M_ROOM().
      This only makes a difference for the callsite in m_cat();
      the other three callsites all start with a freshly allocated
      mbuf from m_get(), which will have m->m_size == M_ROOM(m).
      
      Fixes: 864036e2
      Fixes: https://bugs.launchpad.net/qemu/+bug/1785670
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
      Message-id: 20180807114501.12370-1-peter.maydell@linaro.org
      Tested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
      Peter Maydell authored
  5. 06 Aug, 2018 9 commits
    • The instance_init function of the xtensa CPUs creates a memory region,
      but does not set an owner, so the memory region is not destroyed
      correctly when the CPU object is removed. This can happen when
      introspecting the CPU devices, so introspecting the CPU device will
      leave a dangling memory region object in the QOM tree. Make sure to
      set the right owner here to fix this issue.
      
      Signed-off-by: Thomas Huth <thuth@redhat.com>
      Acked-by: Max Filippov <jcmvbkbc@gmail.com>
      Message-id: 1532005320-17794-1-git-send-email-thuth@redhat.com
      Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Thomas Huth authored
    • The code currently in gicv3_gicd_no_migration_shift_bug_post_load()
      that handles migration from older QEMU versions with a particular
      bug is misplaced. We need to run this after migration in all cases,
      not just the cases where the "arm_gicv3/gicd_no_migration_shift_bug"
      subsection is present, so it must go in a post_load hook for the
      top level VMSD, not for the subsection. Move it.
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
      Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
      Message-id: 20180806123445.1459-6-peter.maydell@linaro.org
      Peter Maydell authored
    • Contrary to the the impression given in docs/devel/migration.rst,
      the migration code does not run the pre_load hook for a
      subsection unless the subsection appears on the wire, and so
      this is not a place where you can set the default value for
      state for the "subsection not present" case. Instead this needs
      to be done in a pre_load hook for whatever is the parent VMSD
      of the subsection.
      
      We got this wrong in two of the subsection definitions in
      the GICv3 migration structs; fix this.
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
      Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
      Message-id: 20180806123445.1459-5-peter.maydell@linaro.org
      Peter Maydell authored
    • Currently the migration code incorrectly treats a subsection with
      no .needed function pointer as if it was the subsection list
      terminator -- it is ignored and so is everything after it.
      Work around this by giving various M profile vmstate structs
      a 'needed' function that always returns true.
      We reuse m_needed() for this, since it's always true here.
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
      Message-id: 20180806123445.1459-4-peter.maydell@linaro.org
      Peter Maydell authored
    • Commit 6692aac4 accidentally introduced a second initialization
      of the .subsections field of vmstate_gicv3_cpu, instead of adding
      the new subsection to the existing list. The effect of this was
      probably that migration of GICv3 with virtualization enabled was
      broken (or alternatively that migration of ICC_SRE_EL1 was broken,
      depending on which of the two initializers the compiler used).
      Combine the two into a single list.
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
      Message-id: 20180806123445.1459-3-peter.maydell@linaro.org
      Peter Maydell authored
    • Currently the migration code incorrectly treats a subsection with
      no .needed function pointer as if it was the subsection list
      terminator -- it is ignored and so is everything after it.
      Work around this by giving vmstate_gicv3_gicd_no_migration_shift_bug
      a 'needed' function that always returns true.
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
      Message-id: 20180806123445.1459-2-peter.maydell@linaro.org
      Peter Maydell authored
    • If we do not opimize away dup_vec, we must mark its output as changed.
      
      Fixes: 170ba88f
      Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com>
      Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
      Reviewed-by: Laurent Desnogues <laurent.desnogues@gmail.com>
      Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>
      Message-id: 20180805233258.31892-1-richard.henderson@linaro.org
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Richard Henderson authored
    • ppc patch queue for 2018-08-01
      
      Here are a final couple of fixes for the 3.0 release.
      
      # gpg: Signature made Wed 01 Aug 2018 04:52:57 BST
      # gpg:                using RSA key 6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>"
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-3.0-20180801:
        sam460ex: Fix PCI interrupts with multiple devices
        hw/misc/macio: Fix device introspection problems in macio devices
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Peter Maydell authored
    • pc, virtio: fixes
      
      A couple of last minute fixes.
      
      Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Fri 03 Aug 2018 09:35:54 BST
      # gpg:                using RSA key 281F0DB8D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"
      # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
      #      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469
      
      * remotes/mst/tags/for_upstream:
        tests/acpi: update tables after memory hotplug changes
        pc: acpi: fix memory hotplug regression by reducing stub SRAT entry size
        tests/acpi-test: update ACPI tables test blobs
        hw/acpi-build: Add a check for memory-less NUMA nodes
        vhost: check region type before casting
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Peter Maydell authored
  6. 03 Aug, 2018 5 commits
    • Previous patch changes acpi tables, update expected
      files accordingly.
      
      Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
      Michael S. Tsirkin authored
    • Commit 848a1cc1 (hw/acpi-build: build SRAT memory affinity structures for DIMM devices)
      broke the first dimm hotplug in following cases:
      
       1: there is no coldplugged dimm in the last numa node
          but there is a coldplugged dimm in another node
      
        -m 4096,slots=4,maxmem=32G               \
        -object memory-backend-ram,id=m0,size=2G \
        -device pc-dimm,memdev=m0,node=0         \
        -numa node,nodeid=0                      \
        -numa node,nodeid=1
      
       2: if order of dimms on CLI is:
             1st plugged dimm in node1
             2nd plugged dimm in node0
      
        -m 4096,slots=4,maxmem=32G               \
        -object memory-backend-ram,size=2G,id=m0 \
        -device pc-dimm,memdev=m0,node=1         \
        -object memory-backend-ram,id=m1,size=2G \
        -device pc-dimm,memdev=m1,node=0         \
        -numa node,nodeid=0                      \
        -numa node,nodeid=1
      
      (qemu) object_add memory-backend-ram,id=m2,size=1G
      (qemu) device_add pc-dimm,memdev=m2,node=0
      
      the first DIMM hotplug to any node except the last one
      fails (Windows is unable to online it).
      
      Length reduction of stub hotplug memory SRAT entry,
      fixes issue for some reason.
      
      RHBZ: 1609234
      
      Signed-off-by: Igor Mammedov <imammedo@redhat.com>
      Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
      Igor Mammedov authored
    • Now, QEmu adds a new check for memory-less NUMA nodes in build_srat().
      
      It effects the ACPI test.
      
      So, Update ACPI tables test blobs.
      
      Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
      Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
      Dou Liyang authored
    • Currently, Qemu ACPI builder doesn't consider the memory-less NUMA nodes, eg:
      
        -m 4G,slots=4,maxmem=8G \
        -numa node,nodeid=0 \
        -numa node,nodeid=1,mem=2G \
        -numa node,nodeid=2,mem=2G \
        -numa node,nodeid=3\
      
      Guest Linux will report
      
        [    0.000000] ACPI: SRAT: Node 0 PXM 0 [mem 0x00000000-0xffffffffffffffff]
        [    0.000000] ACPI: SRAT: Node 1 PXM 1 [mem 0x00000000-0x0009ffff]
        [    0.000000] ACPI: SRAT: Node 1 PXM 1 [mem 0x00100000-0x7fffffff]
        [    0.000000] ACPI: SRAT: Node 2 PXM 2 [mem 0x80000000-0xbfffffff]
        [    0.000000] ACPI: SRAT: Node 2 PXM 2 [mem 0x100000000-0x13fffffff]
        [    0.000000] ACPI: SRAT: Node 3 PXM 3 [mem 0x140000000-0x13fffffff]
        [    0.000000] ACPI: SRAT: Node 3 PXM 3 [mem 0x140000000-0x33fffffff] hotplug
      
      [mem 0x00000000-0xffffffffffffffff] and [mem 0x140000000-0x13fffffff] are bogus.
      
      Add a check to avoid building srat memory for memory-less NUMA nodes, also update
      the test file. Now the info in guest linux will be
      
        [    0.000000] ACPI: SRAT: Node 1 PXM 1 [mem 0x00000000-0x0009ffff]
        [    0.000000] ACPI: SRAT: Node 1 PXM 1 [mem 0x00100000-0x7fffffff]
        [    0.000000] ACPI: SRAT: Node 2 PXM 2 [mem 0x80000000-0xbfffffff]
        [    0.000000] ACPI: SRAT: Node 2 PXM 2 [mem 0x100000000-0x13fffffff]
        [    0.000000] ACPI: SRAT: Node 3 PXM 3 [mem 0x140000000-0x33fffffff] hotplug
      
      Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
      Reviewed-by: Igor Mammedov <imammedo@redhat.com>
      Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
      Dou Liyang authored
    • Check region type first before casting the memory region
      to IOMMUMemoryRegion. Otherwise QEMU will abort with below
      error message when casting non-IOMMU memory region:
      
      vhost_iommu_region_add: Object 0x561f28bce4f0 is not an
      instance of type qemu:iommu-memory-region
      
      Fixes: cb1efcf4 ("iommu: Add IOMMU index argument to notifier APIs")
      Cc: Peter Maydell <peter.maydell@linaro.org>
      
      Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
      Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
      Tiwei Bie authored
  7. 01 Aug, 2018 1 commit
    • The four interrupts of the PCI bus are connected to the same UIC pin
      on the real Sam460ex. Evidence for this can be found in the UBoot
      source for the Sam460ex in the Sam460ex.c file where
      PCI_INTERRUPT_LINE is written. Change the ppc440_pcix model to behave
      more like this.
      
      This fixes the problem that can be observed when adding further PCI
      cards that got their interrupt rotated to other interrupts than PCI
      INT A. In particular, the bug was observed with an additional OHCI PCI
      card or an ES1370 sound device.
      
      Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
      Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
      Tested-by: Sebastian Bauer <mail@sebastianbauer.info>
      Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
      BALATON Zoltan authored
  8. 31 Jul, 2018 5 commits
    • Valgrind reports an error when introspecting the macio devices, e.g.:
      
      echo "{'execute':'qmp_capabilities'} {'execute':'device-list-properties'," \
       "'arguments':{'typename':'macio-newworld'}}" \
       "{'execute': 'human-monitor-command', " \
       "'arguments': {'command-line': 'info qtree'}}" | \
       valgrind -q ppc64-softmmu/qemu-system-ppc64 -M none,accel=qtest -qmp stdio
      [...]
      ==30768== Invalid read of size 8
      ==30768==    at 0x5BC1EA: qdev_print (qdev-monitor.c:686)
      ==30768==    by 0x5BC1EA: qbus_print (qdev-monitor.c:719)
      ==30768==    by 0x43E458: handle_hmp_command (monitor.c:3446)
      [...]
      
      Use the new function sysbus_init_child_obj() to initialize the objects
      here, to get the reference counting of the objects right, so that they
      are cleaned up correctly when the parent gets removed.
      
      Signed-off-by: Thomas Huth <thuth@redhat.com>
      Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
      Thomas Huth authored
    • Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Peter Maydell authored
    • Monitor patches for 2018-07-31 (3.0.0-rc3)
      
      # gpg: Signature made Tue 31 Jul 2018 16:46:16 BST
      # gpg:                using RSA key 3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-monitor-2018-07-31:
        monitor: temporary fix for dead-lock on event recursion
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Peter Maydell authored
    • With a Spice port chardev, it is possible to reenter
      monitor_qapi_event_queue() (when the client disconnects for
      example). This will dead-lock on monitor_lock.
      
      Instead, use some TLS variables to check for recursion and queue the
      events.
      
      Fixes:
       (gdb) bt
       #0  0x00007fa69e7217fd in __lll_lock_wait () at /lib64/libpthread.so.0
       #1  0x00007fa69e71acf4 in pthread_mutex_lock () at /lib64/libpthread.so.0
       #2  0x0000563303567619 in qemu_mutex_lock_impl (mutex=0x563303d3e220 <monitor_lock>, file=0x5633036589a8 "/home/elmarco/src/qq/monitor.c", line=645) at /home/elmarco/src/qq/util/qemu-thread-posix.c:66
       #3  0x0000563302fa6c25 in monitor_qapi_event_queue (event=QAPI_EVENT_SPICE_DISCONNECTED, qdict=0x56330602bde0, errp=0x7ffc6ab5e728) at /home/elmarco/src/qq/monitor.c:645
       #4  0x0000563303549aca in qapi_event_send_spice_disconnected (server=0x563305afd630, client=0x563305745360, errp=0x563303d8d0f0 <error_abort>) at qapi/qapi-events-ui.c:149
       #5  0x00005633033e600f in channel_event (event=3, info=0x5633061b0050) at /home/elmarco/src/qq/ui/spice-core.c:235
       #6  0x00007fa69f6c86bb in reds_handle_channel_event (reds=<optimized out>, event=3, info=0x5633061b0050) at reds.c:316
       #7  0x00007fa69f6b193b in main_dispatcher_self_handle_channel_event (info=0x5633061b0050, event=3, self=0x563304e088c0) at main-dispatcher.c:197
       #8  0x00007fa69f6b193b in main_dispatcher_channel_event (self=0x563304e088c0, event=event@entry=3, info=0x5633061b0050) at main-dispatcher.c:197
       #9  0x00007fa69f6d0833 in red_stream_push_channel_event (s=s@entry=0x563305ad8f50, event=event@entry=3) at red-stream.c:414
       #10 0x00007fa69f6d086b in red_stream_free (s=0x563305ad8f50) at red-stream.c:388
       #11 0x00007fa69f6b7ddc in red_channel_client_finalize (object=0x563304df2360) at red-channel-client.c:347
       #12 0x00007fa6a56b7fb9 in g_object_unref () at /lib64/libgobject-2.0.so.0
       #13 0x00007fa69f6ba212 in red_channel_client_push (rcc=0x563304df2360) at red-channel-client.c:1341
       #14 0x00007fa69f68b259 in red_char_device_send_msg_to_client (client=<optimized out>, msg=0x5633059b6310, dev=0x563304e08bc0) at char-device.c:305
       #15 0x00007fa69f68b259 in red_char_device_send_msg_to_clients (msg=0x5633059b6310, dev=0x563304e08bc0) at char-device.c:305
       #16 0x00007fa69f68b259 in red_char_device_read_from_device (dev=0x563304e08bc0) at char-device.c:353
       #17 0x000056330317d01d in spice_chr_write (chr=0x563304cafe20, buf=0x563304cc50b0 "{\"timestamp\": {\"seconds\": 1532944763, \"microseconds\": 326636}, \"event\": \"SHUTDOWN\", \"data\": {\"guest\": false}}\r\n", len=111) at /home/elmarco/src/qq/chardev/spice.c:199
       #18 0x00005633034deee7 in qemu_chr_write_buffer (s=0x563304cafe20, buf=0x563304cc50b0 "{\"timestamp\": {\"seconds\": 1532944763, \"microseconds\": 326636}, \"event\": \"SHUTDOWN\", \"data\": {\"guest\": false}}\r\n", len=111, offset=0x7ffc6ab5ea70, write_all=false) at /home/elmarco/src/qq/chardev/char.c:112
       #19 0x00005633034df054 in qemu_chr_write (s=0x563304cafe20, buf=0x563304cc50b0 "{\"timestamp\": {\"seconds\": 1532944763, \"microseconds\": 326636}, \"event\": \"SHUTDOWN\", \"data\": {\"guest\": false}}\r\n", len=111, write_all=false) at /home/elmarco/src/qq/chardev/char.c:147
       #20 0x00005633034e1e13 in qemu_chr_fe_write (be=0x563304dbb800, buf=0x563304cc50b0 "{\"timestamp\": {\"seconds\": 1532944763, \"microseconds\": 326636}, \"event\": \"SHUTDOWN\", \"data\": {\"guest\": false}}\r\n", len=111) at /home/elmarco/src/qq/chardev/char-fe.c:42
       #21 0x0000563302fa6334 in monitor_flush_locked (mon=0x563304dbb800) at /home/elmarco/src/qq/monitor.c:425
       #22 0x0000563302fa6520 in monitor_puts (mon=0x563304dbb800, str=0x563305de7e9e "") at /home/elmarco/src/qq/monitor.c:468
       #23 0x0000563302fa680c in qmp_send_response (mon=0x563304dbb800, rsp=0x563304df5730) at /home/elmarco/src/qq/monitor.c:517
       #24 0x0000563302fa6905 in qmp_queue_response (mon=0x563304dbb800, rsp=0x563304df5730) at /home/elmarco/src/qq/monitor.c:538
       #25 0x0000563302fa6b5b in monitor_qapi_event_emit (event=QAPI_EVENT_SHUTDOWN, qdict=0x563304df5730) at /home/elmarco/src/qq/monitor.c:624
       #26 0x0000563302fa6c4b in monitor_qapi_event_queue (event=QAPI_EVENT_SHUTDOWN, qdict=0x563304df5730, errp=0x7ffc6ab5ed00) at /home/elmarco/src/qq/monitor.c:649
       #27 0x0000563303548cce in qapi_event_send_shutdown (guest=false, errp=0x563303d8d0f0 <error_abort>) at qapi/qapi-events-run-state.c:58
       #28 0x000056330313bcd7 in main_loop_should_exit () at /home/elmarco/src/qq/vl.c:1822
       #29 0x000056330313bde3 in main_loop () at /home/elmarco/src/qq/vl.c:1862
       #30 0x0000563303143781 in main (argc=3, argv=0x7ffc6ab5f068, envp=0x7ffc6ab5f088) at /home/elmarco/src/qq/vl.c:4644
      
      Note that error report is now moved to the first caller, which may
      receive an error for a recursed event. This is probably fine (95% of
      callers use &error_abort, the rest have NULL error and ignore it)
      
      Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20180731150144.14022-1-marcandre.lureau@redhat.com>
      Reviewed-by: Markus Armbruster <armbru@redhat.com>
      [*_no_recurse renamed to *_no_reenter, local variables reordered]
      Signed-off-by: Markus Armbruster <armbru@redhat.com>
      Marc-André Lureau authored
    • Fix safe_syscall() on ppc64 host
      Fix mmap() 0 length error case
      
      # gpg: Signature made Tue 31 Jul 2018 09:41:07 BST
      # gpg:                using RSA key F30C38BD3F2FBE3C
      # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>"
      # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>"
      # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>"
      # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
      
      * remotes/vivier2/tags/linux-user-for-3.0-pull-request:
        linux-user: ppc64: don't use volatile register during safe_syscall
        tests: add check_invalid_maps to test-mmap
        linux-user/mmap.c: handle invalid len maps correctly
      
      Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
      Peter Maydell authored