qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 77af8a: hw/i386: Use Rev3 FADT (ACPI 2.0) ins


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 77af8a: hw/i386: Use Rev3 FADT (ACPI 2.0) instead of Rev1 ...
Date: Wed, 10 May 2017 08:12:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 77af8a2b95b79699de650965d5228772743efe84
      
https://github.com/qemu/qemu/commit/77af8a2b95b79699de650965d5228772743efe84
  Author: Phil Dennis-Jordan <address@hidden>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M hw/i386/acpi-build.c
    M include/hw/acpi/acpi-defs.h
    M tests/acpi-utils.h
    M tests/bios-tables-test.c

  Log Message:
  -----------
  hw/i386: Use Rev3 FADT (ACPI 2.0) instead of Rev1 to improve guest OS support.

This updates the FADT generated for x86/64 machine types from Revision 1 to 3. 
(Based on ACPI standard 2.0 instead of 1.0) The intention is to expose the 
reset register information to guest operating systems which require it, 
specifically OS X/macOS. Revision 1 FADTs do not contain the fields relating to 
the reset register.

The new layout and contents remains backwards-compatible with operating systems 
which only support ACPI 1.0, as the existing fields are not modified by this 
change, as the 64-bit and 32-bit variants are allowed to co-exist according to 
the ACPI 2.0 standard. No regressions became apparent in tests with a range of 
Windows (XP-10) and Linux versions.

The BIOS tables test suite's FADT checksum test has also been updated to 
reflect the new FADT layout and content.

Signed-off-by: Phil Dennis-Jordan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6103451aeb749e92bf7d730429985189c6921c32
      
https://github.com/qemu/qemu/commit/6103451aeb749e92bf7d730429985189c6921c32
  Author: Phil Dennis-Jordan <address@hidden>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M hw/i386/acpi-build.c
    M hw/pci-host/piix.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  hw/i386: Build-time assertion on pc/q35 reset register being identical.

This adds a clarifying comment and build time assert to the FADT reset register 
field initialisation: the reset register is the same on both machine types.

Signed-off-by: Phil Dennis-Jordan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b19456dd0ea4eb418ad093f092adbb882be13054
      
https://github.com/qemu/qemu/commit/b19456dd0ea4eb418ad093f092adbb882be13054
  Author: zhanghailiang <address@hidden>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M chardev/char-fd.c
    M chardev/char-io.c
    M chardev/char-io.h
    M chardev/char-pty.c
    M chardev/char-socket.c
    M chardev/char-udp.c
    M chardev/char.c
    M include/sysemu/char.h

  Log Message:
  -----------
  char: Fix removing wrong GSource that be found by fd_in_tag

We use fd_in_tag to find a GSource, fd_in_tag is return value of
g_source_attach(GSource *source, GMainContext *context), the return
value is unique only in the same context, so we may get the same
values with different 'context' parameters.

It is no problem to find the right fd_in_tag by using
 g_main_context_find_source_by_id(GMainContext *context, guint source_id)
while there is only one default main context.

But colo-compare tries to create/use its own context, and if we pass wrong
'context' parameter with right fd_in_tag, we will find a wrong GSource to 
handle.
We tried to fix the related codes in commit 
b43decb015a6efeb9e3cdbdb80f6547ad7248a4c,
but it didn't fix the bug completely, because we still have some codes didn't 
pass
*right* context parameter for remove_fd_in_watch().

Let's fix it by record the GSource directly instead of fd_in_tag.

Signed-off-by: zhanghailiang <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b290f3b12e30e4da7acd10662e85ae8b37d75d44
      
https://github.com/qemu/qemu/commit/b290f3b12e30e4da7acd10662e85ae8b37d75d44
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M hw/display/tcx.c

  Log Message:
  -----------
  tcx: fix cut/paste error in update_palette_entries()

Commit ee72bed0 "tcx: remove primitives for non-32-bit surfaces" accidentally
left a trailing break in update_palette_entries() causing the palette update
routine to exit after just one iteration. Remove it.

Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 8eb57ae3f9afdd8d911f3b2862e05cd0bb042b4e
      
https://github.com/qemu/qemu/commit/8eb57ae3f9afdd8d911f3b2862e05cd0bb042b4e
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M hw/display/cg3.c

  Log Message:
  -----------
  cg3: add explicit ram_addr_t cast to scanline page variable

Coverity warns that multiplying two 32-bit values gives a 32-bit result which
is assigned to a 64-bit variable. Add an explicit ram_addr_t cast to silence
the warning.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 00fcd100c3f47445f6a59d39e11601460880cfe4
      
https://github.com/qemu/qemu/commit/00fcd100c3f47445f6a59d39e11601460880cfe4
  Author: Abdallah Bouassida <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M configure
    A gdb-xml/i386-32bit-core.xml
    A gdb-xml/i386-64bit-core.xml
    M target/i386/cpu.c

  Log Message:
  -----------
  target/i386: Add GDB XML register description support

This patch implements XML target description support for X86 and X86-64
architectures in the GDB stub, as the way with ARM and PowerPC:
- gdb-xml/32bit-core.xml & gdb-xml/64bit-core.xml: Adding the XML target
  description files, these files are picked from GDB source code.
- configure: Define gdb_xml_files for X86 targets.
- target/i386/cpu.c: Define gdb_core_xml_file and gdb_arch_name to add
  XML awareness for this architecture, modify the gdb_num_core_regs to
  fit the registers number defined in each XML file.

Signed-off-by: Abdallah Bouassida <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 49e00a18708e27c815828d9440d5c9300d19547c
      
https://github.com/qemu/qemu/commit/49e00a18708e27c815828d9440d5c9300d19547c
  Author: Andreas Grapentin <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M configure
    M include/qemu/compiler.h

  Log Message:
  -----------
  use _Static_assert in QEMU_BUILD_BUG_ON

QEMU_BUILD_BUG_ON should use C11's _Static_assert, if the compiler supports it,
to provide more readable messages on failure.

We check for _Static_assert in configure, and set CONFIG_STATIC_ASSERT
accordingly. QEMU_BUILD_BUG_ON invokes _Static_assert if CONFIG_STATIC_ASSERT
is defined, and reverts to the old way otherwise.

That way, systems without C11 conforming compiler will still have the old
messages, as verified by intentionally breaking the configure check.

the following example output was generated by inverting the condition in
QEMU_BUILD_BUG_ON:

without _Static_assert:

> In file included from /qemu/include/qemu/osdep.h:36:0,
>                  from /qemu/qga/commands.c:13:
> /qemu/qga/commands.c: In function ‘qmp_guest_exec_status’:
> /qemu/include/qemu/compiler.h:89:12: error: negative width in bit-field 
> ‘<anonymous>’
>      struct { \
>             ^
> /qemu/include/qemu/compiler.h:96:38: note: in expansion of macro  
> QEMU_BUILD_BUG_ON_STRUCT’
>  #define QEMU_BUILD_BUG_ON(x) typedef QEMU_BUILD_BUG_ON_STRUCT(x) \
>                                       ^~~~~~~~~~~~~~~~~~~~~~~~
> /qemu/include/qemu/atomic.h:146:5: note: in expansion of macro 
> ‘QEMU_BUILD_BUG_ON’
>      QEMU_BUILD_BUG_ON(sizeof(*ptr) > sizeof(void *));   \
>      ^~~~~~~~~~~~~~~~~
> /qemu/include/qemu/atomic.h:417:5: note: in expansion of macro 
> ‘atomic_load_acquire’
>      atomic_load_acquire(ptr)
>      ^~~~~~~~~~~~~~~~~~~
> /qemu/qga/commands.c:160:21: note: in expansion of macro ‘atomic_mb_read’
>      bool finished = atomic_mb_read(&gei->finished);
>                      ^~~~~~~~~~~~~~

with _Static_assert:

> In file included from /qemu/include/qemu/osdep.h:36:0,
>                  from /qemu/qga/commands.c:13:
> /qemu/qga/commands.c: In function ‘qmp_guest_exec_status’:
> /qemu/include/qemu/compiler.h:94:30: error: static assertion failed: "not 
> expecting: sizeof(*&gei->finished) > sizeof(void *)"
>  #define QEMU_BUILD_BUG_ON(x) _Static_assert((x), #x)
>                               ^
> /qemu/include/qemu/atomic.h:146:5: note: in expansion of macro 
> ‘QEMU_BUILD_BUG_ON’
>      QEMU_BUILD_BUG_ON(sizeof(*ptr) > sizeof(void *));   \
>      ^~~~~~~~~~~~~~~~~
> /qemu/include/qemu/atomic.h:417:5: note: in expansion of macro 
> ‘atomic_load_acquire’
>      atomic_load_acquire(ptr)
>      ^~~~~~~~~~~~~~~~~~~
> /qemu/qga/commands.c:160:21: note: in expansion of macro ‘atomic_mb_read’
>      bool finished = atomic_mb_read(&gei->finished);
>                      ^~~~~~~~~~~~~~

Signed-off-by: Andreas Grapentin <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: aab9e87e7a5d280bfbffaa4ea6e296c515c8dac2
      
https://github.com/qemu/qemu/commit/aab9e87e7a5d280bfbffaa4ea6e296c515c8dac2
  Author: Thomas Huth <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  vl: deprecate the "-hdachs" option

If the user needs to specify the disk geometry, the corresponding
parameters of the "-device ide-hd" option should be used instead.
"-hdachs" is considered as deprecated and might be removed soon.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 24dfa9fa2f90a95ac33c7372de4f4f2c8a2c141f
      
https://github.com/qemu/qemu/commit/24dfa9fa2f90a95ac33c7372de4f4f2c8a2c141f
  Author: Prasad J Pandit <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  scsi: avoid an off-by-one error in megasas_mmio_write

While reading magic sequence(MFI_SEQ) in megasas_mmio_write,
an off-by-one error could occur as 's->adp_reset' index is not
reset after reading the last sequence.

Reported-by: YY Z <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c8c33fca88fc3ab8a5e4bb2e34d26a97e9ba8e5a
      
https://github.com/qemu/qemu/commit/c8c33fca88fc3ab8a5e4bb2e34d26a97e9ba8e5a
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M pc-bios/sgabios.bin
    M roms/sgabios

  Log Message:
  -----------
  sgabios: update for "fix wrong video attrs for int 10h,ah==13h"

Update the submodule and rebuild the binary.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f68826989cd4d1217797251339579c57b3c0934e
      
https://github.com/qemu/qemu/commit/f68826989cd4d1217797251339579c57b3c0934e
  Author: P J P <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M hw/scsi/vmw_pvscsi.c

  Log Message:
  -----------
  vmw_pvscsi: check message ring page count at initialisation

A guest could set the message ring page count to zero, resulting in
infinite loop. Add check to avoid it.

Reported-by: YY Z <address@hidden>
Signed-off-by: P J P <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 31f5a726b59bda5580e2f9413867893501dd7d93
      
https://github.com/qemu/qemu/commit/31f5a726b59bda5580e2f9413867893501dd7d93
  Author: Jose Ricardo Ziviani <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M util/qemu-thread-posix.c
    M util/qemu-thread-win32.c
    M util/trace-events

  Log Message:
  -----------
  trace: add qemu mutex lock and unlock trace events

These trace events were very useful to help me to understand and find a
reordering issue in vfio, for example:

qemu_mutex_lock locked mutex 0x10905ad8
  vfio_region_write  (0001:03:00.0:region1+0xc0, 0x2020c, 4)
qemu_mutex_unlock unlocked mutex 0x10905ad8
qemu_mutex_lock locked mutex 0x10905ad8
  vfio_region_write  (0001:03:00.0:region1+0xc4, 0xa0000, 4)
qemu_mutex_unlock unlocked mutex 0x10905ad8

that also helped me to see the desired result after the fix:

qemu_mutex_lock locked mutex 0x10905ad8
  vfio_region_write  (0001:03:00.0:region1+0xc0, 0x2000c, 4)
  vfio_region_write  (0001:03:00.0:region1+0xc4, 0xb0000, 4)
qemu_mutex_unlock unlocked mutex 0x10905ad8

So it could be a good idea to have these traces implemented. It's worth
mentioning that they should be surgically enabled during the debugging,
otherwise it can flood the trace logs with lock/unlock messages.

How to use it:
trace-event qemu_mutex_lock on|off
trace-event qemu_mutex_unlock on|off
or
trace-event qemu_mutex* on|off

Signed-off-by: Jose Ricardo Ziviani <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
[Also handle trylock, cond_wait and win32; trace "unlocked" while still
 in the critical section, so that "unlocked" always comes before the
 next "locked" tracepoint. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6e9389563e56607f72562bdb72db452fcd7e7f74
      
https://github.com/qemu/qemu/commit/6e9389563e56607f72562bdb72db452fcd7e7f74
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: Disallow glib asserts in main code

Glib commit a6a875068779 (from 2013) made many of the glib assert
macros non-fatal if a flag is set.
This causes two problems:
  a) Compilers moan that your code is unsafe even though you've
     put an assert in before the point of use.
  b) Someone evil could, in a library, call
     g_test_set_nonfatal_assertions() and cause our assertions in
     important places not to fail and potentially allow memory overruns.

Ban most of the glib assertion functions (basically everything except
g_assert and g_assert_not_reached) except in tests/

This makes checkpatch gives an error such as:

  ERROR: Use g_assert or g_assert_not_reached
  #77: FILE: vl.c:4725:
  +    g_assert_cmpstr("Chocolate", >, "Cheese");

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


  Commit: 8a3c3d996ef7df6982d6f51bb79893036ab08c7f
      
https://github.com/qemu/qemu/commit/8a3c3d996ef7df6982d6f51bb79893036ab08c7f
  Author: Yu Ning <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M target/i386/hax-mem.c

  Log Message:
  -----------
  hax: Fix memory mapping de-duplication logic

hax_update_mapping() avoids unnecessary and potentially expensive
calls to HAX_VM_IOCTL_SET_RAM by computing the net result (i.e.
effective mapping changes) of each MemoryRegion transaction, with
the help of a linked list of HAXMapping objects.

However, when processing a new mapping that overlaps with an
existing mapping in the list, it fails to handle the case where the
start address of the new mapping is above that of the existing
mapping in the guest physical address space. This happens when QEMU
is launched with "-machine q35 -enable-hax", which involves the
following MemoryRegion transaction for digging the VGA hole:

 region_del: 0x00000000->0x08000000 VA 05fa0000 ('pc.ram')
 region_add: 0x00000000->0x000a0000 VA 05fa0000 ('pc.ram')
 region_add: 0x000a0000->0x000c0000 VA 00000000 ('vga-lowmem')
 region_add: 0x000c0000->0x08000000 VA 06060000 ('pc.ram')

where the third MemoryRegion is MMIO and is ignored. The current
de-duplication logic handles the last MemoryRegion incorrectly and
produces the following result:

 hax_mapping_dump_list updates:
   + 0x000c0000->0x08000000 VA 0x06060000
   - 0x07fe0000->0x08000000 VA 0x0df80000

which is why VGA emulation does not work for Q35.

With this patch, one can see VGA output as Q35 boots up. Note that
Q35 support also requires a change to HAXM kernel module, which is
not available in the current HAXM release (6.1.2).

+ Add a warning if the input MemoryRegion is a ROM device, which is
  not supported by HAXM kernel module at this time.

Signed-off-by: Yu Ning <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6796b4008bd195e6765a1144dc98a8673e69d169
      
https://github.com/qemu/qemu/commit/6796b4008bd195e6765a1144dc98a8673e69d169
  Author: Fam Zheng <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M dump.c
    M include/sysemu/dump.h

  Log Message:
  -----------
  dump: Acquire BQL around vm_start() in dump thread

This fixes an assertion failure in the following backtrace:

    __GI___assert_fail
    memory_region_transaction_commit
    memory_region_add_eventfd
    virtio_pci_ioeventfd_assign
    virtio_bus_set_host_notifier
    virtio_blk_data_plane_start
    virtio_bus_start_ioeventfd
    virtio_vmstate_change
    vm_state_notify
    vm_prepare_start
    vm_start
    dump_cleanup
    dump_process
    dump_thread
    start_thread
    clone

vm_start need BQL, acquire it if doing cleaning up from main thread.

Signed-off-by: Fam Zheng <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: bde4d9205ee9def98852ff6054cdef4efd74e1f8
      
https://github.com/qemu/qemu/commit/bde4d9205ee9def98852ff6054cdef4efd74e1f8
  Author: Thomas Huth <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Fix the -accel parameter and the documentation for 'hax'

Since 'hax' is a possible accelerator nowadays, too, the '-accel'
option should support it and we should mention this accelerator
in the documentation, too.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: fdf6fab4df40cbd26a216c31379587310d1c4001
      
https://github.com/qemu/qemu/commit/fdf6fab4df40cbd26a216c31379587310d1c4001
  Author: Paul E. McKenney <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add "R:" tag for self-appointed reviewers

Some people are not content with the amount of mail they get, and would
like to be CCed on patches for areas they do not maintain.  Let them
satisfy their own appetite for qemu-devel messages.

Seriously: the purpose here is a bit different from the Linux kernel.
While Linux uses "R" to designate non-maintainers for reviewing patches
in a given area, in QEMU I would also like to use "R" so that people can
delegate sending pull requests while keeping some degree of oversight.

Based on Linux commit eafbaac3093760d1fd3b2a5b9f016362dd68af36.

Signed-off-by: Paul E. McKenney <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6668a2af21102ef472fcc9dbf816b2128909096d
      
https://github.com/qemu/qemu/commit/6668a2af21102ef472fcc9dbf816b2128909096d
  Author: Joe Perches <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M scripts/get_maintainer.pl

  Log Message:
  -----------
  get_maintainer: Teach get_maintainer.pl about the new "R:" tag

We can now designate reviewers in the MAINTAINERS file with the new
"R:" tag, so this commit teaches get_maintainers.pl to add their
email addresses.

Cherry picked from Linux commit c1c3f2c906e35bcb6e4cdf5b8e077660fead14fe,
with fixes to avoid \C as in QEMU commit ba10f729f1 ("get_maintainer.pl:
\C is deprecated", 2015-09-25).

Signed-off-by: Joe Perches <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7a6ae2cffc35b246269fde69f7a76191d7d5e9cd
      
https://github.com/qemu/qemu/commit/7a6ae2cffc35b246269fde69f7a76191d7d5e9cd
  Author: Brian Norris <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M scripts/get_maintainer.pl

  Log Message:
  -----------
  get_maintainer: it's '--pattern-depth', not '-pattern-depth'

Though it appears that Perl's GetOptions will take either, the latter is
not documented in the options listing.

Cherry picked from Linux commit cc7ff0ef6eca3deeea4a424ca47a67c8450d5424.

Signed-off-by: Brian Norris <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9ff3a5e677378e9cd1a716943e48164d2ca279ca
      
https://github.com/qemu/qemu/commit/9ff3a5e677378e9cd1a716943e48164d2ca279ca
  Author: Brian Norris <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M scripts/get_maintainer.pl

  Log Message:
  -----------
  get_maintainer: --r (list reviewer) is on by default

We don't consistenly document the default value next to the option
listing, but we do have a list of defaults here, so let's keep it up to
date.

Cherry picked from Linux commit 4f07510df2e8c47fd65b8ffaaf6c5d334d59d598.

Signed-off-by: Brian Norris <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 622e42a71f6f6a928b1f2b9d95aff35b47d8b13c
      
https://github.com/qemu/qemu/commit/622e42a71f6f6a928b1f2b9d95aff35b47d8b13c
  Author: Joe Perches <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M scripts/get_maintainer.pl

  Log Message:
  -----------
  get_maintainer: add subsystem to reviewer output

Reviewer output currently does not include the subsystem
that matched.  Add it.

Miscellanea:

o Add a get_subsystem_name routine to centralize this

Cherry picked from Linux commit 2a7cb1dc82fc2a52e747b4c496c13f6575fb1790.

Signed-off-by: Joe Perches <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: eae0f543341b311038fa2d40350688c646880082
      
https://github.com/qemu/qemu/commit/eae0f543341b311038fa2d40350688c646880082
  Author: Felipe Franciosi <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M contrib/libvhost-user/libvhost-user.c

  Log Message:
  -----------
  libvhost-user: replace vasprintf() to fix build

On gcc 3.4 and newer, simply using (void) in front of WUR functions is
not sufficient to ignore the return value. That prevents a build when
handling warnings as errors.

libvhost-user had a usage of (void)vasprintf() which triggered such a
condition. This fixes it by replacing this call with g_strdup_vprintf()
which aborts on OOM.

Signed-off-by: Felipe Franciosi <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 95615ce5a1beffff1a5dd3597d8cb6ba83f0010e
      
https://github.com/qemu/qemu/commit/95615ce5a1beffff1a5dd3597d8cb6ba83f0010e
  Author: Felipe Franciosi <address@hidden>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M hw/scsi/Makefile.objs
    A hw/scsi/vhost-scsi-common.c
    M hw/scsi/vhost-scsi.c
    A include/hw/virtio/vhost-scsi-common.h
    M include/hw/virtio/vhost-scsi.h
    M include/hw/virtio/virtio-scsi.h

  Log Message:
  -----------
  vhost-scsi: create a vhost-scsi-common abstraction

In order to introduce a new vhost-user-scsi host device type, it makes
sense to abstract part of vhost-scsi into a common parent class. This
commit does exactly that.

Signed-off-by: Felipe Franciosi <address@hidden>
Message-Id: <address@hidden>


  Commit: 2f5a5f5774d95baacf86c03aa8a77a2d0390f2b2
      
https://github.com/qemu/qemu/commit/2f5a5f5774d95baacf86c03aa8a77a2d0390f2b2
  Author: Aurelien Jarno <address@hidden>
  Date:   2017-05-06 (Sat, 06 May 2017)

  Changed paths:
    M tcg/mips/tcg-target.inc.c

  Log Message:
  -----------
  tcg/mips: fix field extraction opcode

The "msb" argument should correspond to (len - 1).

Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 4bf43122dbdb62251d502deaaee630fd08a67c6d
      
https://github.com/qemu/qemu/commit/4bf43122dbdb62251d502deaaee630fd08a67c6d
  Author: Doug Gale <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M gdbstub.c

  Log Message:
  -----------
  gdbstub: implement remote debugging protocol escapes for command receive

- decode escape sequences
- decompress run-length encoding escape sequences
- report command parsing problems to output when debug output is enabled
- reject packet checksums that are not valid hex digits
- compute the checksum based on the packet stream, not based on the
  decoded packet

Tested with GDB and QtCreator integrated debugger on SMP QEMU instance.
Works for me.

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


  Commit: f3fddaf60b9b983b82cd11e8087e7c8a3903ee14
      
https://github.com/qemu/qemu/commit/f3fddaf60b9b983b82cd11e8087e7c8a3903ee14
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M scripts/tracetool/__init__.py

  Log Message:
  -----------
  trace: disallow more than 10 arguments per trace event

The UST trace backend can only cope with upto 10 arguments. To ensure we
don't exceed the limit when UST is not compiled in, disallow more than
10 arguments upfront.

This prevents the case where:

  commit 0fc8aec7de64f2bf83a274a2a38b938ce03425d2
  Author: Zhang Chen <address@hidden>
  Date:   Tue Apr 18 10:20:20 2017 +0800

    COLO-compare: Optimize tcp compare trace event

    Optimize two trace events as one, adjust print format make
    it easy to read. rename trace_colo_compare_pkt_info_src/dst
    to trace_colo_compare_tcp_info.

regressed the fix done in

  commit 2dfe5113b11ce0ddb08176ebb54ab7ac4104b413
  Author: Alex Bennée <address@hidden>
  Date:   Fri Oct 28 14:25:59 2016 +0100

    net: split colo_compare_pkt_info into two trace events

    It seems there is a limit to the number of arguments a UST trace event
    can take and at 11 the previous trace command broke the build. Split the
    trace into a src pkt and dst pkt trace to fix this.

    Signed-off-by: Alex Bennée <address@hidden>
    Message-id: address@hidden
    Reviewed-by: Peter Maydell <address@hidden>
    Signed-off-by: Peter Maydell <address@hidden>

Now we get an immediate fail even when UST is disabled:

  GEN     net/trace.h
Traceback (most recent call last):
  File "/home/berrange/src/virt/qemu/scripts/tracetool.py", line 154, in 
<module>
    main(sys.argv)
  File "/home/berrange/src/virt/qemu/scripts/tracetool.py", line 145, in main
    events.extend(tracetool.read_events(fh))
  File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 307, 
in read_events
    event = Event.build(line)
  File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 244, 
in build
    event = Event(name, props, fmt, args)
  File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 196, 
in __init__
    "argument count" % name)
ValueError: Event 'colo_compare_tcp_info' has more than maximum permitted 
argument count
Makefile:96: recipe for target 'net/trace.h-timestamp' failed

Signed-off-by: Daniel P. Berrange <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 32543dbb67e07afea23ff0eadc4b957b8593eeaa
      
https://github.com/qemu/qemu/commit/32543dbb67e07afea23ff0eadc4b957b8593eeaa
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M scripts/tracetool/__init__.py

  Log Message:
  -----------
  Merge tag 'tracing-pull-request' into staging

# gpg: Signature made Mon 08 May 2017 09:39:00 AM EDT
# gpg:                using RSA key 0x9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* tag 'tracing-pull-request':
  trace: disallow more than 10 arguments per trace event

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


  Commit: 6225820136f8c745c71290a904da61114d766253
      
https://github.com/qemu/qemu/commit/6225820136f8c745c71290a904da61114d766253
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  maintainers: add maintainer for replay* files

Updating MAINTAINERS to set Pavel Dovgalyuk as record/replay maintainer
and Paolo Bonzini as a reviewer.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 2fd463854cbf7e649ef9c9be86d2694b5d4a53e3
      
https://github.com/qemu/qemu/commit/2fd463854cbf7e649ef9c9be86d2694b5d4a53e3
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M hw/display/cg3.c
    M hw/display/tcx.c

  Log Message:
  -----------
  Merge remote-tracking branch 'mcayland/tags/qemu-sparc-signed' into staging

qemu-sparc update

# gpg: Signature made Fri 05 May 2017 04:51:46 AM EDT
# gpg:                using RSA key 0x5BC2C56FAE0F321F
# gpg: Good signature from "Mark Cave-Ayland <address@hidden>"
# Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F

* mcayland/tags/qemu-sparc-signed:
  cg3: add explicit ram_addr_t cast to scanline page variable
  tcx: fix cut/paste error in update_palette_entries()

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


  Commit: 1c5d5061019dadfaa9ca25d23c9688fc18c148fa
      
https://github.com/qemu/qemu/commit/1c5d5061019dadfaa9ca25d23c9688fc18c148fa
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M MAINTAINERS
    M chardev/char-fd.c
    M chardev/char-io.c
    M chardev/char-io.h
    M chardev/char-pty.c
    M chardev/char-socket.c
    M chardev/char-udp.c
    M chardev/char.c
    M configure
    M contrib/libvhost-user/libvhost-user.c
    M dump.c
    A gdb-xml/i386-32bit-core.xml
    A gdb-xml/i386-64bit-core.xml
    M hw/i386/acpi-build.c
    M hw/pci-host/piix.c
    M hw/scsi/Makefile.objs
    M hw/scsi/megasas.c
    A hw/scsi/vhost-scsi-common.c
    M hw/scsi/vhost-scsi.c
    M hw/scsi/vmw_pvscsi.c
    M include/hw/acpi/acpi-defs.h
    M include/hw/i386/pc.h
    A include/hw/virtio/vhost-scsi-common.h
    M include/hw/virtio/vhost-scsi.h
    M include/hw/virtio/virtio-scsi.h
    M include/qemu/compiler.h
    M include/sysemu/char.h
    M include/sysemu/dump.h
    M pc-bios/sgabios.bin
    M qemu-options.hx
    M roms/sgabios
    M scripts/checkpatch.pl
    M scripts/get_maintainer.pl
    M target/i386/cpu.c
    M target/i386/hax-mem.c
    M tests/acpi-utils.h
    M tests/bios-tables-test.c
    M util/qemu-thread-posix.c
    M util/qemu-thread-win32.c
    M util/trace-events
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'bonzini/tags/for-upstream' into staging

A large set of small patches.  I have not included yet vhost-user-scsi,
but it'll come in the next pull request.

* use GDB XML register description for x86
* use _Static_assert in QEMU_BUILD_BUG_ON
* add "R:" to MAINTAINERS and get_maintainers
* checkpatch improvements
* dump threading fixes
* first part of vhost-user-scsi support
* QemuMutex tracing
* vmw_pvscsi and megasas fixes
* sgabios module update
* use Rev3 (ACPI 2.0) FADT
* deprecate -hdachs
* improve -accel documentation
* hax fix
* qemu-char GSource bugfix

# gpg: Signature made Fri 05 May 2017 06:10:40 AM EDT
# gpg:                using RSA key 0xBFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>"
# gpg:                 aka "Paolo Bonzini <address@hidden>"
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* bonzini/tags/for-upstream: (21 commits)
  vhost-scsi: create a vhost-scsi-common abstraction
  libvhost-user: replace vasprintf() to fix build
  get_maintainer: add subsystem to reviewer output
  get_maintainer: --r (list reviewer) is on by default
  get_maintainer: it's '--pattern-depth', not '-pattern-depth'
  get_maintainer: Teach get_maintainer.pl about the new "R:" tag
  MAINTAINERS: Add "R:" tag for self-appointed reviewers
  Fix the -accel parameter and the documentation for 'hax'
  dump: Acquire BQL around vm_start() in dump thread
  hax: Fix memory mapping de-duplication logic
  checkpatch: Disallow glib asserts in main code
  trace: add qemu mutex lock and unlock trace events
  vmw_pvscsi: check message ring page count at initialisation
  sgabios: update for "fix wrong video attrs for int 10h,ah==13h"
  scsi: avoid an off-by-one error in megasas_mmio_write
  vl: deprecate the "-hdachs" option
  use _Static_assert in QEMU_BUILD_BUG_ON
  target/i386: Add GDB XML register description support
  char: Fix removing wrong GSource that be found by fd_in_tag
  hw/i386: Build-time assertion on pc/q35 reset register being identical.
  ...

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


  Commit: 7ed57b66221b5a3e23b3519824637b297dc92090
      
https://github.com/qemu/qemu/commit/7ed57b66221b5a3e23b3519824637b297dc92090
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M tcg/mips/tcg-target.inc.c

  Log Message:
  -----------
  Merge remote-tracking branch 'aurel32/tags/pull-tcg-mips-20170506' into 
staging

Fix MIPS R2 hosts support

# gpg: Signature made Sat 06 May 2017 06:56:28 AM EDT
# gpg:                using RSA key 0xBA9C78061DDD8C9B
# gpg: Good signature from "Aurelien Jarno <address@hidden>"
# gpg:                 aka "Aurelien Jarno <address@hidden>"
# gpg:                 aka "Aurelien Jarno <address@hidden>"
# Primary key fingerprint: 7746 2642 A9EF 94FD 0F77  196D BA9C 7806 1DDD 8C9B

* aurel32/tags/pull-tcg-mips-20170506:
  tcg/mips: fix field extraction opcode

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


  Commit: de4598f0c5a734863f74b7984604bfb8a89fbccd
      
https://github.com/qemu/qemu/commit/de4598f0c5a734863f74b7984604bfb8a89fbccd
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M tests/check-qdict.c

  Log Message:
  -----------
  tests/check-qdict: Fix missing brackets

Gcc 7 (on Fedora 26) spotted odd use of integers instead of a
boolean; it's got a point.

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: cb69166bb8defaaa4b3e0a4e31de693737634a54
      
https://github.com/qemu/qemu/commit/cb69166bb8defaaa4b3e0a4e31de693737634a54
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M tests/test-keyval.c

  Log Message:
  -----------
  test-keyval: fix leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric blake <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 9edd5338a2404909ac8d373964021e6dbb8f5815
      
https://github.com/qemu/qemu/commit/9edd5338a2404909ac8d373964021e6dbb8f5815
  Author: Eric Blake <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M hw/pci/pcie_aer.c

  Log Message:
  -----------
  pci: Use struct instead of QDict to pass back parameters

It's simpler to just use a C struct than it is to bundle things
into a QDict in one function just to pull them back out in the
caller.  Plus, doing this gets rid of one more user of dynamic
JSON through qobject_from_jsonf(), as well as a memory leak of
the QDict.

While cleaning the code, fix things to report all errors (the
code was previously silently ignoring a failure of
pcie_aer_inject_error(), at a distance).

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 8f16de18f6d8d0c0b4982bbe13f7b6a048b0e876
      
https://github.com/qemu/qemu/commit/8f16de18f6d8d0c0b4982bbe13f7b6a048b0e876
  Author: Eric Blake <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M hw/pci/pcie_aer.c
    M include/hw/pci/pcie_aer.h

  Log Message:
  -----------
  pci: Reduce scope of error injection

No one outside of pcie_aer.h was using error injection; mark them
static for internal use.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: a2f3453ebc64b1ebe094aeaf83f9e67896f90ac3
      
https://github.com/qemu/qemu/commit/a2f3453ebc64b1ebe094aeaf83f9e67896f90ac3
  Author: Eric Blake <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M MAINTAINERS
    A scripts/coccinelle/qobject.cocci

  Log Message:
  -----------
  coccinelle: Add script to remove useless QObject casts

We have macros in place to make it less verbose to add a subtype
of QObject to both QDict and QList. While we have made cleanups
like this in the past (see commit fcfcd8ffc, for example), having
it be automated by Coccinelle makes it easier to maintain.

The script is separate from the cleanups, for ease of review and
backporting.  A later patch will then add further possible cleanups.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: de6e7951fe66053dfeaac1a237f7aceb9e079619
      
https://github.com/qemu/qemu/commit/de6e7951fe66053dfeaac1a237f7aceb9e079619
  Author: Eric Blake <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M block.c
    M block/blkdebug.c
    M block/blkverify.c
    M block/file-posix.c
    M block/file-win32.c
    M block/quorum.c
    M tests/check-qdict.c
    M tests/test-qmp-commands.c

  Log Message:
  -----------
  qobject: Drop useless QObject casts

We have macros in place to make it less verbose to add a subtype
of QObject to both QDict and QList. While we have made cleanups
like this in the past (see commit fcfcd8ffc, for example), having
it be automated by Coccinelle makes it easier to maintain.

Patch created mechanically via:
  spatch --sp-file scripts/coccinelle/qobject.cocci \
    --macro-file scripts/cocci-macro-file.h --dir . --in-place
then I verified that no manual touchups were required.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: a92c21591b5bb9543996538f14854ca6b528318b
      
https://github.com/qemu/qemu/commit/a92c21591b5bb9543996538f14854ca6b528318b
  Author: Eric Blake <address@hidden>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M include/qapi/qmp/qdict.h
    M include/qapi/qmp/qlist.h
    M scripts/coccinelle/qobject.cocci

  Log Message:
  -----------
  qobject: Add helper macros for common scalar insertions

Rather than making lots of callers wrap a scalar in a QInt, QString,
or QBool, provide helper macros that do the wrapping automatically.

Update the Coccinelle script to make mass conversions easy, although
the conversion itself will be done as a separate patches to ease
review and backport efforts.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 46f5ac205a9dc5e2c24274c7df371509a286281f
      
https://github.com/qemu/qemu/commit/46f5ac205a9dc5e2c24274c7df371509a286281f
  Author: Eric Blake <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M block.c
    M block/blkdebug.c
    M block/blkverify.c
    M block/curl.c
    M block/file-posix.c
    M block/file-win32.c
    M block/nbd.c
    M block/nfs.c
    M block/null.c
    M block/qcow2.c
    M block/quorum.c
    M block/rbd.c
    M block/snapshot.c
    M block/ssh.c
    M block/vvfat.c
    M block/vxhs.c
    M blockdev.c
    M hw/block/xen_disk.c
    M hw/usb/xen-usb.c
    M monitor.c
    M qapi/qmp-event.c
    M qemu-img.c
    M qemu-io.c
    M qemu-nbd.c
    M qobject/qdict.c
    M target/s390x/cpu_models.c
    M tests/check-qdict.c
    M tests/check-qlist.c
    M tests/device-introspect-test.c
    M tests/test-qemu-opts.c
    M tests/test-qmp-commands.c
    M tests/test-qmp-event.c
    M tests/test-qobject-output-visitor.c
    M util/qemu-option.c

  Log Message:
  -----------
  qobject: Use simpler QDict/QList scalar insertion macros

We now have macros in place to make it less verbose to add a scalar
to QDict and QList, so use them.

Patch created mechanically via:
  spatch --sp-file scripts/coccinelle/qobject.cocci \
    --macro-file scripts/cocci-macro-file.h --dir . --in-place
then touched up manually to fix a couple of '?:' back to original
spacing, as well as avoiding a long line in monitor.c.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: ff6ed7141d87d26eafa2b8e4df969623e40fac49
      
https://github.com/qemu/qemu/commit/ff6ed7141d87d26eafa2b8e4df969623e40fac49
  Author: Eric Blake <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Simplify bdrv_append_temp_snapshot() logic

Noticed while checking Coccinelle results. Naming a label 'out:'
when it is only used on error paths is weird.  Also, we had some
dead stores to 'ret'.  Meanwhile we know that snapshot_options
is NULL on success and that QDECREF(NULL) is safe.  So merge the
two exit paths into one by careful control over bs_snapshot.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 28934e0c759dae0d78b8b4336841b0287d04b4b6
      
https://github.com/qemu/qemu/commit/28934e0c759dae0d78b8b4336841b0287d04b4b6
  Author: Eric Blake <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M util/qemu-option.c

  Log Message:
  -----------
  QemuOpts: Simplify qemu_opts_to_qdict()

Noticed while investigating Coccinelle cleanups. There is no need
for a temporary variable when we can use the new macro to do the
same thing with less typing.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: ccb61bdd73a6d9a3eb717d1b69125ec7ca638a3b
      
https://github.com/qemu/qemu/commit/ccb61bdd73a6d9a3eb717d1b69125ec7ca638a3b
  Author: Eric Blake <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M tests/fdc-test.c

  Log Message:
  -----------
  fdc-test: Avoid deprecated 'change' command

Use the preferred blockdev-change-medium command instead.

Also, use of 'device' is deprecated; adding an explicit id on
the command line lets us use 'id' for both blockdev-change-medium
and eject.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 5229564b832e979f480011bae372ff849dbf320a
      
https://github.com/qemu/qemu/commit/5229564b832e979f480011bae372ff849dbf320a
  Author: Eric Blake <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M tests/libqtest.c
    M tests/test-qga.c

  Log Message:
  -----------
  test-qga: Actually test 0xff sync bytes

Commit 62c39b3 introduced test-qga, and at face value, appears
to be testing the 'guest-sync' behavior that is recommended for
guests in sending 0xff to QGA to force the parser to reset.  But
this aspect of the test has never actually done anything: the
qmp_fd() call chain converts its string argument into QObject,
then converts that QObject back to the actual string that is
sent over the wire - and the conversion process silently drops
the 0xff byte from the string sent to QGA, thus never resetting
the QGA parser.

An upcoming patch will get rid of the wasteful round trip
through QObject, at which point the string in test-qga will be
directly sent over the wire.

But fixing qmp_fd() to actually send 0xff over the wire is not
all we have to do - the actual QMP parser loudly complains that
0xff is not valid JSON, and sends an error message _prior_ to
actually parsing the 'guest-sync' or 'guest-sync-delimited'
command.  With 'guest-sync', we cannot easily tell if this error
message is a result of our command - which is WHY we invented
the 'guest-sync-delimited' command.  So for the testsuite, fix
things to only check 0xff behavior on 'guest-sync-delimited',
and to loop until we've consumed all garbage prior to the
requested delimiter, which is compatible with the documented actions
that a real QGA client is supposed to do.

Ideally, we'd fix the QGA JSON parser to silently ignore 0xff
rather than sending an error message back, at which point we
could enhance this test for 'guest-sync' as well as for
'guest-sync-delimited'.  But for the sake of this patch, our
testing of 'guest-sync' is no worse than it was pre-patch,
because we have never been sending 0xff over the wire in the
first place.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[Additional comment squashed in, along with matching commit message
update]
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 4db5c619a2f03c2ee25105b4f6359075c825aecc
      
https://github.com/qemu/qemu/commit/4db5c619a2f03c2ee25105b4f6359075c825aecc
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Prepare vsock_parse() for flattened SocketAddress

I'm going to flatten SocketAddress: rename SocketAddress to
SocketAddressLegacy, SocketAddressFlat to SocketAddress, eliminate
SocketAddressLegacy except in external interfaces.

vsock_parse() returns a newly allocated VsockSocketAddress.  Lift the
allocation from vsock_parse() into its caller socket_parse() to
prepare for flattening SocketAddress.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 0785bd7a7c58ffaf533f484cb0661671a64ecffd
      
https://github.com/qemu/qemu/commit/0785bd7a7c58ffaf533f484cb0661671a64ecffd
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M block/nbd.c
    M include/qemu/sockets.h
    M migration/rdma.c
    M migration/socket.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Prepare inet_parse() for flattened SocketAddress

I'm going to flatten SocketAddress: rename SocketAddress to
SocketAddressLegacy, SocketAddressFlat to SocketAddress, eliminate
SocketAddressLegacy except in external interfaces.

inet_parse() returns a newly allocated InetSocketAddress.  Lift the
allocation from inet_parse() into its caller socket_parse() to prepare
for flattening SocketAddress.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[Straightforward rebase]


  Commit: 4626a19c86c30d96cedbac2bd44ef8103303cb37
      
https://github.com/qemu/qemu/commit/4626a19c86c30d96cedbac2bd44ef8103303cb37
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M include/qapi/clone-visitor.h
    M qapi/qapi-clone-visitor.c

  Log Message:
  -----------
  qapi: New QAPI_CLONE_MEMBERS()

QAPI_CLONE() returns a newly allocated QAPI object.  Inconvenient when
we want to clone into an existing object.  QAPI_CLONE_MEMBERS() does
exactly that.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: dfd100f242370886bb6732f70f1f7cbd8eb9fedc
      
https://github.com/qemu/qemu/commit/dfd100f242370886bb6732f70f1f7cbd8eb9fedc
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M block/nbd.c
    M block/sheepdog.c
    M blockdev-nbd.c
    M chardev/char-socket.c
    M chardev/char-udp.c
    M hmp.c
    M include/io/channel-socket.h
    M include/io/dns-resolver.h
    M include/io/task.h
    M include/qemu/sockets.h
    M io/channel-socket.c
    M io/dns-resolver.c
    M migration/socket.c
    M net/socket.c
    M qapi-schema.json
    M qapi/block.json
    M qemu-nbd.c
    M qga/channel-posix.c
    M qga/main.c
    M tests/test-io-channel-socket.c
    M ui/vnc-auth-sasl.c
    M ui/vnc.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Rename SocketAddress to SocketAddressLegacy

The next commit will rename SocketAddressFlat to SocketAddress, and
the commit after that will replace most uses of SocketAddressLegacy by
SocketAddress, replacing most of this commit's renames right back.

Note that checkpatch emits a few "line over 80 characters" warnings.
The long lines are all temporary; the SocketAddressLegacy replacement
will shorten them again.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 62cf396b5d397948c5ac4d04d09596ca14f6c173
      
https://github.com/qemu/qemu/commit/62cf396b5d397948c5ac4d04d09596ca14f6c173
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M block/gluster.c
    M block/nbd.c
    M block/sheepdog.c
    M include/qemu/sockets.h
    M qapi-schema.json
    M qapi/block-core.json
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Rename SocketAddressFlat to SocketAddress

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Prasanna Kumar Kalever <address@hidden>


  Commit: bd269ebc82fbaa5fe7ce5bc7c1770ac8acecd884
      
https://github.com/qemu/qemu/commit/bd269ebc82fbaa5fe7ce5bc7c1770ac8acecd884
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M block/nbd.c
    M block/sheepdog.c
    M blockdev-nbd.c
    M chardev/char-socket.c
    M chardev/char-udp.c
    M hmp.c
    M include/block/nbd.h
    M include/io/channel-socket.h
    M include/io/dns-resolver.h
    M include/io/task.h
    M include/qemu/sockets.h
    M io/channel-socket.c
    M io/dns-resolver.c
    M migration/socket.c
    M net/socket.c
    M qapi-schema.json
    M qemu-nbd.c
    M qga/channel-posix.c
    M qga/main.c
    M tests/test-char.c
    M tests/test-io-channel-socket.c
    M ui/vnc-auth-sasl.c
    M ui/vnc.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Limit SocketAddressLegacy to external interfaces

SocketAddressLegacy is a simple union, and simple unions are awkward:
they have their variant members wrapped in a "data" object on the
wire, and require additional indirections in C.  SocketAddress is the
equivalent flat union.  Convert all users of SocketAddressLegacy to
SocketAddress, except for existing external interfaces.

See also commit fce5d53..9445673 and 85a82e8..c5f1ae3.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[Minor editing accident fixed, commit message and a comment tweaked]

Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 0c099fa7e9248a97c7854e5af84fc2479477ed5d
      
https://github.com/qemu/qemu/commit/0c099fa7e9248a97c7854e5af84fc2479477ed5d
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M include/qemu/sockets.h
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Delete unused helper socket_address_crumple()

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[Commit message typo fixed]


  Commit: 10e37839ed7c420c9190e20a51ed7ff39f1e1cff
      
https://github.com/qemu/qemu/commit/10e37839ed7c420c9190e20a51ed7ff39f1e1cff
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M qapi/qmp-dispatch.c

  Log Message:
  -----------
  qmp: Improve QMP dispatch error messages

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 6c02258e143700314ebf268dae47eb23db17d1cf
      
https://github.com/qemu/qemu/commit/6c02258e143700314ebf268dae47eb23db17d1cf
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M qapi/qobject-input-visitor.c

  Log Message:
  -----------
  qobject-input-visitor: Document full_name_nth()

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>


  Commit: ed0ba0f47e8cb6d924db0a54090bbb7b095fe9ea
      
https://github.com/qemu/qemu/commit/ed0ba0f47e8cb6d924db0a54090bbb7b095fe9ea
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M include/qapi/visitor.h

  Log Message:
  -----------
  qapi: Document intended use of @name within alternate visits

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>


  Commit: 8b2e41d733850ec6a67a85743138e023cbb8921b
      
https://github.com/qemu/qemu/commit/8b2e41d733850ec6a67a85743138e023cbb8921b
  Author: Markus Armbruster <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M qapi/qobject-input-visitor.c

  Log Message:
  -----------
  qobject-input-visitor: Catch misuse of end_struct vs. end_list

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
[More elaborate assertions for clarity]


  Commit: aa3b167f21588a87e7783ac29aa54b0c721eb37a
      
https://github.com/qemu/qemu/commit/aa3b167f21588a87e7783ac29aa54b0c721eb37a
  Author: John Snow <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M scripts/qmp/qmp-shell

  Log Message:
  -----------
  qmp-shell: add persistent command history

Use the existing readline history function we are utilizing
to provide persistent command history across instances of qmp-shell.

This assists entering debug commands across sessions that may be
interrupted by QEMU sessions terminating, where the qmp-shell has
to be relaunched.

Signed-off-by: John Snow <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Kashyap Chamarthy <address@hidden>
Tested-by: Kashyap Chamarthy <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: c5e397df9e247bff2398400864cde94d1b40317c
      
https://github.com/qemu/qemu/commit/c5e397df9e247bff2398400864cde94d1b40317c
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M scripts/qmp/qmp-shell

  Log Message:
  -----------
  qmp-shell: add -N option to skip negotiate

qemu-ga doesn't have negotiate phase.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: daa5a72ebab20345da474ee2f6148a8dacd2cb17
      
https://github.com/qemu/qemu/commit/daa5a72ebab20345da474ee2f6148a8dacd2cb17
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M scripts/qmp/qmp-shell

  Log Message:
  -----------
  qmp-shell: Cope with query-commands error

qemu-ga doesn't implement it.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: b13d2ff3de2d1f79107a376e883bcb8336f75d4d
      
https://github.com/qemu/qemu/commit/b13d2ff3de2d1f79107a376e883bcb8336f75d4d
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M scripts/qmp/qmp-shell

  Log Message:
  -----------
  qmp-shell: don't show version greeting if unavailable

qemu-ga doesn't have greeting.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: dcd3b25d656d346205dc0f2254723fccf0264e45
      
https://github.com/qemu/qemu/commit/dcd3b25d656d346205dc0f2254723fccf0264e45
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M scripts/qmp/qmp-shell

  Log Message:
  -----------
  qmp-shell: improve help

Describe the arguments & fix the tool name.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 76d20ea0f1b26ebd5da2f5fb2fdf3250cde887bb
      
https://github.com/qemu/qemu/commit/76d20ea0f1b26ebd5da2f5fb2fdf3250cde887bb
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M MAINTAINERS
    M block.c
    M block/blkdebug.c
    M block/blkverify.c
    M block/curl.c
    M block/file-posix.c
    M block/file-win32.c
    M block/gluster.c
    M block/nbd.c
    M block/nfs.c
    M block/null.c
    M block/qcow2.c
    M block/quorum.c
    M block/rbd.c
    M block/sheepdog.c
    M block/snapshot.c
    M block/ssh.c
    M block/vvfat.c
    M block/vxhs.c
    M blockdev-nbd.c
    M blockdev.c
    M chardev/char-socket.c
    M chardev/char-udp.c
    M hmp.c
    M hw/block/xen_disk.c
    M hw/pci/pcie_aer.c
    M hw/usb/xen-usb.c
    M include/block/nbd.h
    M include/hw/pci/pcie_aer.h
    M include/io/channel-socket.h
    M include/qapi/clone-visitor.h
    M include/qapi/qmp/qdict.h
    M include/qapi/qmp/qlist.h
    M include/qapi/visitor.h
    M include/qemu/sockets.h
    M io/dns-resolver.c
    M migration/rdma.c
    M migration/socket.c
    M monitor.c
    M qapi-schema.json
    M qapi/block-core.json
    M qapi/block.json
    M qapi/qapi-clone-visitor.c
    M qapi/qmp-dispatch.c
    M qapi/qmp-event.c
    M qapi/qobject-input-visitor.c
    M qemu-img.c
    M qemu-io.c
    M qemu-nbd.c
    M qga/main.c
    M qobject/qdict.c
    A scripts/coccinelle/qobject.cocci
    M scripts/qmp/qmp-shell
    M target/s390x/cpu_models.c
    M tests/check-qdict.c
    M tests/check-qlist.c
    M tests/device-introspect-test.c
    M tests/fdc-test.c
    M tests/libqtest.c
    M tests/test-char.c
    M tests/test-io-channel-socket.c
    M tests/test-keyval.c
    M tests/test-qemu-opts.c
    M tests/test-qga.c
    M tests/test-qmp-commands.c
    M tests/test-qmp-event.c
    M tests/test-qobject-output-visitor.c
    M ui/vnc-auth-sasl.c
    M ui/vnc.c
    M util/qemu-option.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  Merge remote-tracking branch 'armbru/tags/pull-qapi-2017-05-04-v3' into 
staging

QAPI patches for 2017-05-04

# gpg: Signature made Tue 09 May 2017 03:16:12 AM EDT
# gpg:                using RSA key 0x3870B400EB918653
# gpg: Good signature from "Markus Armbruster <address@hidden>"
# gpg:                 aka "Markus Armbruster <address@hidden>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* armbru/tags/pull-qapi-2017-05-04-v3: (28 commits)
  qmp-shell: improve help
  qmp-shell: don't show version greeting if unavailable
  qmp-shell: Cope with query-commands error
  qmp-shell: add -N option to skip negotiate
  qmp-shell: add persistent command history
  qobject-input-visitor: Catch misuse of end_struct vs. end_list
  qapi: Document intended use of @name within alternate visits
  qobject-input-visitor: Document full_name_nth()
  qmp: Improve QMP dispatch error messages
  sockets: Delete unused helper socket_address_crumple()
  sockets: Limit SocketAddressLegacy to external interfaces
  sockets: Rename SocketAddressFlat to SocketAddress
  sockets: Rename SocketAddress to SocketAddressLegacy
  qapi: New QAPI_CLONE_MEMBERS()
  sockets: Prepare inet_parse() for flattened SocketAddress
  sockets: Prepare vsock_parse() for flattened SocketAddress
  test-qga: Actually test 0xff sync bytes
  fdc-test: Avoid deprecated 'change' command
  QemuOpts: Simplify qemu_opts_to_qdict()
  block: Simplify bdrv_append_temp_snapshot() logic
  ...

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


Compare: https://github.com/qemu/qemu/compare/dd1559bb267b...76d20ea0f1b2

reply via email to

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