qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 06d09a: tests: virtio: separate ccw tests fro


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 06d09a: tests: virtio: separate ccw tests from libqos
Date: Fri, 24 Aug 2018 03:06:41 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 06d09a018f9ec52e24c46845a8cf2e8e3c2c6e1c
      
https://github.com/qemu/qemu/commit/06d09a018f9ec52e24c46845a8cf2e8e3c2c6e1c
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/Makefile.include
    A tests/virtio-ccw-test.c

  Log Message:
  -----------
  tests: virtio: separate ccw tests from libqos

Because qtest does not support s390 channel I/O, s390 only performs smoke tests 
on
those few devices that do not have any functional tests.  Therefore, every time 
we
add functional tests for a virtio device, the choice is between removing
those tests from the s390 suite (so that s390 actually _loses_ coverage)
or sprinkling the test with architecture checks.

This patch simply creates a ccw-specific test that only performs smoke tests on
all virtio-ccw devices.  If channel I/O support is ever added to qtest and 
libqos,
then this file can go away.  In the meanwhile, it simplifies maintenance and
makes sure that all virtio devices are tested.

Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a736d719e75db57f05f7be4103a226851d4887e7
      
https://github.com/qemu/qemu/commit/a736d719e75db57f05f7be4103a226851d4887e7
  Author: Guenter Roeck <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/scsi/mptsas.c

  Log Message:
  -----------
  scsi: mptsas: Mark as storage device

mptsas1068 is currently listed as uncategorized device.
Mark it as storage device.

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


  Commit: 154c1d1f960c5147a3f8ef00907504112f271cd8
      
https://github.com/qemu/qemu/commit/154c1d1f960c5147a3f8ef00907504112f271cd8
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/audio/es1370.c

  Log Message:
  -----------
  es1370: simplify MemoryRegionOps

Use the automatic subregister extraction from the memory API, and avoid
that Coverity complains about missing fallthrough comments.

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


  Commit: edd7541b8ce25c1180eb5435ff3350a76d0f0b95
      
https://github.com/qemu/qemu/commit/edd7541b8ce25c1180eb5435ff3350a76d0f0b95
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M disas/m68k.c
    M hw/arm/pxa2xx.c
    M hw/audio/cs4231a.c
    M hw/audio/gusemu_hal.c
    M hw/audio/sb16.c
    M hw/display/cg3.c
    M hw/display/cirrus_vga.c
    M hw/timer/sh_timer.c
    M target/arm/helper.c
    M target/i386/translate.c

  Log Message:
  -----------
  fix "Missing break in switch" coverity reports

Many of these are marked as "intentional/fix required" because they
just need adding a fall through comment.  This is exactly what this
patch does, except for target/mips/translate.c where it is easier to
duplicate the code, and hw/audio/sb16.c where I consulted the DOSBox
sources and decide to just remove the LOG_UNIMP before the fallthrough.

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


  Commit: 1a5c63ce88e92de163c592505c2e2153476b9345
      
https://github.com/qemu/qemu/commit/1a5c63ce88e92de163c592505c2e2153476b9345
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: fix filename detection when using -f

Fix $realfile filename when using -f/--file to not remove first level
directory as if the filename was used in a -P1 patch.  Only strip the
first level directory (typically a or b) for P1 patches.

Signed-off-by: Joe Perches <address@hidden>
Signed-off-by: Andrew Morton <address@hidden>
Signed-off-by: Linus Torvalds <address@hidden>
(extracted from Linux commit 2b7ab45395dc4d91ef30985f76d90a8f28f58c27)
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1b0578f5c455d5a95384752ef9ffa8825efaf8ee
      
https://github.com/qemu/qemu/commit/1b0578f5c455d5a95384752ef9ffa8825efaf8ee
  Author: Murilo Opsfelder Araujo <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M configure
    M scsi/qemu-pr-helper.c

  Log Message:
  -----------
  qemu-pr-helper: Fix build on CentOS 7

After commit b3f1c8c413bc83e4a2cc7a63e4eddf9fe6449052 "qemu-pr-helper: use new
libmultipath API", QEMU started using new libmultipath API, which is not
available on CentOS 7.x.

This fixes that by probing the new libmultipath API in configure.  If it fails,
then try probing the old API.  If it fails, then consider libmultipath not
available.

With this, configure script defines CONFIG_MPATH_NEW_API that is used in
scsi/qemu-pr-helper.c to use the new libmultipath API.

Fixes: b3f1c8c413bc83e4a2cc7a63e4eddf9fe6449052
BugLink: https://bugs.launchpad.net/qemu/+bug/1786343
Signed-off-by: Murilo Opsfelder Araujo <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7351681ec2addb33a4ff6d073f2bac79365925ae
      
https://github.com/qemu/qemu/commit/7351681ec2addb33a4ff6d073f2bac79365925ae
  Author: Julia Suvorova <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/chardev/char-fe.h

  Log Message:
  -----------
  chardev/char-fe: Fix typos

Fixup some typos in the comments.

Signed-off-by: Julia Suvorova <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 48285ba2d69e1948d7901e51567170e55505895b
      
https://github.com/qemu/qemu/commit/48285ba2d69e1948d7901e51567170e55505895b
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: fix sglist leak

tests/cdrom-test -p /x86_64/cdrom/boot/megasas

Produces the following ASAN leak.

==25700==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f06f8faac48 in malloc (/lib64/libasan.so.5+0xeec48)
    #1 0x7f06f87a73c5 in g_malloc (/lib64/libglib-2.0.so.0+0x523c5)
    #2 0x55a729f17738 in pci_dma_sglist_init 
/home/elmarco/src/qq/include/hw/pci/pci.h:818
    #3 0x55a729f2a706 in megasas_map_dcmd 
/home/elmarco/src/qq/hw/scsi/megasas.c:698
    #4 0x55a729f39421 in megasas_handle_dcmd 
/home/elmarco/src/qq/hw/scsi/megasas.c:1574
    #5 0x55a729f3f70d in megasas_handle_frame 
/home/elmarco/src/qq/hw/scsi/megasas.c:1955
    #6 0x55a729f40939 in megasas_mmio_write 
/home/elmarco/src/qq/hw/scsi/megasas.c:2119
    #7 0x55a729f41102 in megasas_port_write 
/home/elmarco/src/qq/hw/scsi/megasas.c:2170
    #8 0x55a729220e60 in memory_region_write_accessor 
/home/elmarco/src/qq/memory.c:527
    #9 0x55a7292212b3 in access_with_adjusted_size 
/home/elmarco/src/qq/memory.c:594
    #10 0x55a72922cf70 in memory_region_dispatch_write 
/home/elmarco/src/qq/memory.c:1473
    #11 0x55a7290f5907 in flatview_write_continue 
/home/elmarco/src/qq/exec.c:3255
    #12 0x55a7290f5ceb in flatview_write /home/elmarco/src/qq/exec.c:3294
    #13 0x55a7290f6457 in address_space_write /home/elmarco/src/qq/exec.c:3384
    #14 0x55a7290f64a8 in address_space_rw /home/elmarco/src/qq/exec.c:3395
    #15 0x55a72929ecb0 in kvm_handle_io 
/home/elmarco/src/qq/accel/kvm/kvm-all.c:1729
    #16 0x55a7292a0db5 in kvm_cpu_exec 
/home/elmarco/src/qq/accel/kvm/kvm-all.c:1969
    #17 0x55a7291c4212 in qemu_kvm_cpu_thread_fn 
/home/elmarco/src/qq/cpus.c:1215
    #18 0x55a72a966a6c in qemu_thread_start 
/home/elmarco/src/qq/util/qemu-thread-posix.c:504
    #19 0x7f06ed486593 in start_thread (/lib64/libpthread.so.0+0x7593)

Move the qemu_sglist_destroy() from megasas_complete_command() to
megasas_unmap_frame(), so map/unmap are balanced.

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


  Commit: 98a43bf0bbc69325eb753ddcfd9c2ab467c7ad73
      
https://github.com/qemu/qemu/commit/98a43bf0bbc69325eb753ddcfd9c2ab467c7ad73
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: add maintainers for qtest

Thomas has been doing a lot of work on qom-test and device-introspection-test,
and Laurent has ported libqos to sPAPR and co-mentored Emanuele on the
upcoming qtest device framework.  They deserve recognition. :)

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


  Commit: 880b169a45214b85cdde1d61386eaa85d6372296
      
https://github.com/qemu/qemu/commit/880b169a45214b85cdde1d61386eaa85d6372296
  Author: Thomas Huth <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/migration-test.c

  Log Message:
  -----------
  tests/migration-test: Silence the kvm_hv message by default

When running "make check" on a non-POWER host, the output is quite
distorted like this:

  [...]
  GTESTER check-qtest-nios2
  GTESTER check-qtest-or1k
  GTESTER check-qtest-ppc64
Skipping test: kvm_hv not available Skipping test: kvm_hv not available 
Skipping test: kvm_hv not available Skipping test: kvm_hv not available   
GTESTER check-qtest-ppcemb
  GTESTER check-qtest-ppc
  GTESTER check-qtest-riscv32
  GTESTER check-qtest-riscv64
  [...]

Move the check to the beginning of the main function instead, so that
we do not have to test the condition again and again for each test,
and better use g_test_message() instead of g_print() here, like it is
also done in ufd_version_check() already.

Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a3ab1dc072407db308bdfdd21c82d4eacaa377e9
      
https://github.com/qemu/qemu/commit/a3ab1dc072407db308bdfdd21c82d4eacaa377e9
  Author: Thomas Huth <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  net: Silence 'has no peer' messages in testing mode

When running qtests with -nodefaults, we are not interested in
these 'XYZ has no peer' messages.

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


  Commit: 7cd9681b8e2ac0f5961d6a6cd5c99d89ffbbbd62
      
https://github.com/qemu/qemu/commit/7cd9681b8e2ac0f5961d6a6cd5c99d89ffbbbd62
  Author: Thomas Huth <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/timer/mc146818rtc.c

  Log Message:
  -----------
  hw/timer/mc146818rtc: White space clean-up

mc146818rtc.c still contains some TABs. Replace them with spaces.
And while we're at it, also delete trailing whitespace in this file.

Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 29551fdcf4d9970ee73d32fc3875d3ddc958a26c
      
https://github.com/qemu/qemu/commit/29551fdcf4d9970ee73d32fc3875d3ddc958a26c
  Author: Thomas Huth <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/ppc/prep.c
    M hw/timer/mc146818rtc.c

  Log Message:
  -----------
  hw/timer/mc146818rtc: Fix introspection problem

There is currently a funny problem with the "mc146818rtc" device:
1) Start QEMU like this:
   qemu-system-ppc64 -M pseries -S
2) At the HMP monitor, enter "info qom-tree". Note that there is an
   entry for "/rtc (spapr-rtc)".
3) Introspect the mc146818rtc device like this:
   device_add mc146818rtc,help
4) Run "info qom-tree" again. The "/rtc" entry is gone now!

The rtc_finalize() function of the mc146818rtc device has two bugs: First,
it tries to remove a "rtc" property, while the rtc_realizefn() added a
"rtc-time" property instead. And second, it should have been done in an
unrealize function, not in a finalize function, to avoid that this causes
problems during introspection.

But since adding aliases to the global machine state should not be done
from a device's realize function anyway, let's rather fix this issue
by moving the creation of the alias to the code that creates the device
(and thus is run from the machine init functions instead), i.e. the
mc146818_rtc_init() function for most machines. The prep machines are
special, since the mc146818rtc device is created here in the realize
function of the i82378 device. Since we certainly don't want to add the
alias there, we add it to some code that is called from the ibm_40p_init()
machine init function instead.
Since the alias is now only created during the machine init, we can remove
the object_property_del() completely.

Fixes: 654a36d857ff949e0d1989904b76f53fded9dc83
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1f4a0d81af8dfbe176ea20085fa894a94d28b125
      
https://github.com/qemu/qemu/commit/1f4a0d81af8dfbe176ea20085fa894a94d28b125
  Author: Thomas Huth <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/cpu-plug-test.c
    M tests/libqtest.c
    M tests/libqtest.h
    M tests/qom-test.c
    M tests/test-hmp.c

  Log Message:
  -----------
  tests: Skip old versioned machine types in quick testing mode

The tests that check something for all machine types currently spend
a lot of time checking old machine types (like "pc-i440fx-2.0" for
example). The chances that we find something new there in addition
to checking the latest version of a machine type are pretty low, so
we should not waste the time of the developers by testing this again
and again in the "quick" testing mode.
Thus let's add some code to determine whether we are testing a current
machine type or an old one, and only test the old types if we are
running in "SPEED=slow" mode.
This decreases the testing time quite a bit now, e.g. the qom-test
now finishes within 4 seconds for qemu-system-x86_64 instead of 30
seconds when testing all machines.

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


  Commit: d0685212643faab85136b35788691d0bde00205c
      
https://github.com/qemu/qemu/commit/d0685212643faab85136b35788691d0bde00205c
  Author: Thomas Huth <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/device-introspect-test.c

  Log Message:
  -----------
  tests/device-introspection: Check that the qom-tree and qtree do not change

Introspection should not change the qom-tree / qtree, so we should check
this in the device-introspect-test, too. This patch helped to find lots
of instrospection bugs during the QEMU v3.0 soft/hard-freeze period in the
last two months.

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


  Commit: 410573aa2c79265eaa51ea2cd7a2bc5906f3b48f
      
https://github.com/qemu/qemu/commit/410573aa2c79265eaa51ea2cd7a2bc5906f3b48f
  Author: Thomas Huth <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/device-introspect-test.c

  Log Message:
  -----------
  tests/device-introspect: Test with all machines, not only with "none"

Certain device introspection crashes used to only happen if you were
using a certain machine, e.g. if the machine was using serial_hd() or
nd_table[], and a device was trying to use these in its instance_init
function, too.

To be able to catch these problems, let's extend the device-introspect
test to check the devices on all machine types, with and without the
"-nodefaults" parameter (since this makes a difference sometimes, too).
Since this is a rather slow operation, and most of the problems are
already handled by testing with the "none" machine only, the test with
all machines is only run in the "make check SPEED=slow" mode.

Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c04649eeeaf5f84ba9e43d0c4ffbe1719b0d940c
      
https://github.com/qemu/qemu/commit/c04649eeeaf5f84ba9e43d0c4ffbe1719b0d940c
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/seqlock.h

  Log Message:
  -----------
  seqlock: constify seqlock_read_begin

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: fe9959a275fc7b4744e49201a390627b3adda597
      
https://github.com/qemu/qemu/commit/fe9959a275fc7b4744e49201a390627b3adda597
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/qht.h
    A include/qemu/qsp.h
    M include/qemu/thread-posix.h
    M include/qemu/thread-win32.h
    M include/qemu/thread.h
    M util/Makefile.objs
    M util/qemu-thread-win32.c
    M util/qht.c
    A util/qsp.c

  Log Message:
  -----------
  qsp: QEMU's Synchronization Profiler

The goal of this module is to profile synchronization primitives (i.e.
mutexes, recursive mutexes and condition variables) so that scalability
issues can be quickly diagnosed.

Sync primitives are profiled by QSP based on the vaddr of the object accessed
as well as the call site (file:line_nr). That means the same object called
from two different call sites will be tracked in separate entries, which
might be reported together or separately (see subsequent commit on
call site coalescing).

Some perf numbers:

Host: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
Command: taskset -c 0 tests/atomic_add-bench -d 5 -m

- Before: 54.80 Mops/s
- After:  54.75 Mops/s

That is, a negligible slowdown due to the now indirect call to
qemu_mutex_lock. Note that using a branch instead of an indirect
call introduces a more severe slowdown (53.65 Mops/s, i.e. 2% slowdown).

Enabling the profiler (with -p, added in this series) is more interesting:

- No profiling: 54.75 Mops/s
- W/ profiling: 12.53 Mops/s

That is, a 4.36X slowdown.

We can break down this slowdown by removing the get_clock calls or
the entry lookup:

- No profiling:     54.75 Mops/s
- W/o get_clock:    25.37 Mops/s
- W/o entry lookup: 19.30 Mops/s
- W/ profiling:     12.53 Mops/s

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0a22777c7120deafcfc5d680227293145f6f062c
      
https://github.com/qemu/qemu/commit/0a22777c7120deafcfc5d680227293145f6f062c
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/qsp.h
    M util/qsp.c

  Log Message:
  -----------
  qsp: add sort_by option to qsp_report

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 996e8d9a45f74fd59a8aa5fa78102e1d8981a945
      
https://github.com/qemu/qemu/commit/996e8d9a45f74fd59a8aa5fa78102e1d8981a945
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/qsp.h
    M util/qsp.c

  Log Message:
  -----------
  qsp: add qsp_reset

I first implemented this by deleting all entries in the global
hash table. But doing that safely slows down profiling, since
we'd need to introduce rcu_read_lock/unlock in the fast path.

What's implemented here avoids messing with the thread-local
data in the global hash table. It achieves this by taking a snapshot
of the current state, so that subsequent reports present the delta
wrt to the snapshot.

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d557de4a0e290c9946f37ff1fba7204844cccc64
      
https://github.com/qemu/qemu/commit/d557de4a0e290c9946f37ff1fba7204844cccc64
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/qsp.h
    M util/qsp.c

  Log Message:
  -----------
  qsp: support call site coalescing

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: cb764d06650da5fad7c833975b255d08e91a0a52
      
https://github.com/qemu/qemu/commit/cb764d06650da5fad7c833975b255d08e91a0a52
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M cpus.c
    M include/qemu/main-loop.h
    M include/qemu/thread.h
    M stubs/iothread-lock.c
    M util/qsp.c

  Log Message:
  -----------
  qsp: track BQL callers explicitly

The BQL is acquired via qemu_mutex_lock_iothread(), which makes
the profiler assign the associated wait time (i.e. most of
BQL wait time) entirely to that function. This loses the original
call site information, which does not help diagnose BQL contention.
Fix it by tracking the callers explicitly.

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9d5cff3df5620c7e02bdefa06d748a5cfc57f3b6
      
https://github.com/qemu/qemu/commit/9d5cff3df5620c7e02bdefa06d748a5cfc57f3b6
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/atomic_add-bench.c

  Log Message:
  -----------
  tests/atomic_add-bench: add -p to enable sync profiler

When used together with -m, this allows us to benchmark the
profiler's performance impact on qemu_mutex_lock.

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 12df189de139dd79b63d055b531e2d88195bfee6
      
https://github.com/qemu/qemu/commit/12df189de139dd79b63d055b531e2d88195bfee6
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

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

  Log Message:
  -----------
  vl: add -enable-sync-profile

Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: dd12e1bbf2a41b0f6ce450a5449e536df0909520
      
https://github.com/qemu/qemu/commit/dd12e1bbf2a41b0f6ce450a5449e536df0909520
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hmp-commands.hx
    M hmp.c
    M hmp.h

  Log Message:
  -----------
  hmp-commands: add sync-profile

The command introduced here is just for developers. This means that:

- the interface implemented here could change in the future
- the command is only meant to be used from HMP, not from QMP

Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 97bfafe28ab3d1cd9336a3d6f63384ff12e3f434
      
https://github.com/qemu/qemu/commit/97bfafe28ab3d1cd9336a3d6f63384ff12e3f434
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hmp-commands-info.hx
    M monitor.c

  Log Message:
  -----------
  hmp-commands-info: add sync-profile

The command introduced here is just for developers. This means that:

- the info displayed and the output format could change in the future
- the command is only meant to be used from HMP, not from QMP

Sample output:

(qemu) sync-profile
sync-profile is off
(qemu) info sync-profile
Type               Object  Call site  Wait Time (s)         Count  Average (us)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
(qemu) sync-profile on
(qemu) sync-profile
sync-profile is on
(qemu) info sync-profile 15
Type               Object  Call site                 Wait Time (s)         
Count  Average (us)
----------------------------------------------------------------------------------------------
condvar    0x55a01813ced0  cpus.c:1165                    91.38235          
2842      32154.24
BQL mutex  0x55a0171b7140  cpus.c:1434                    12.56490          
5787       2171.23
BQL mutex  0x55a0171b7140  accel/tcg/cpu-exec.c:432        7.75846          
2844       2728.01
BQL mutex  0x55a0171b7140  accel/tcg/cputlb.c:870          5.09889          
2884       1767.99
BQL mutex  0x55a0171b7140  accel/tcg/cpu-exec.c:529        3.46140          
3254       1063.74
BQL mutex  0x55a0171b7140  accel/tcg/cputlb.c:804          0.76333          
8655         88.20
BQL mutex  0x55a0171b7140  cpus.c:1466                     0.60893          
2941        207.05
BQL mutex  0x55a0171b7140  util/main-loop.c:236            0.00894          
6425          1.39
mutex      [           3]  util/qemu-timer.c:520           0.00342         
50611          0.07
mutex      [           2]  util/qemu-timer.c:426           0.00254         
31336          0.08
mutex      [           3]  util/qemu-timer.c:234           0.00107         
19275          0.06
mutex      0x55a0171d9960  vl.c:763                        0.00043          
6425          0.07
mutex      0x55a0180d1bb0  monitor.c:458                   0.00015          
1603          0.09
mutex      0x55a0180e4c78  chardev/char.c:109              0.00002           
217          0.08
mutex      0x55a0180d1bb0  monitor.c:448                   0.00001           
162          0.08
----------------------------------------------------------------------------------------------
(qemu) info sync-profile -m 15
Type               Object  Call site                 Wait Time (s)         
Count  Average (us)
----------------------------------------------------------------------------------------------
condvar    0x55a01813ced0  cpus.c:1165                    95.11196          
3051      31174.03
BQL mutex  0x55a0171b7140  accel/tcg/cpu-exec.c:432        7.92108          
3052       2595.37
BQL mutex  0x55a0171b7140  cpus.c:1434                    13.38253          
6210       2155.00
BQL mutex  0x55a0171b7140  accel/tcg/cputlb.c:870          5.09901          
3093       1648.57
BQL mutex  0x55a0171b7140  accel/tcg/cpu-exec.c:529        4.21123          
3468       1214.31
BQL mutex  0x55a0171b7140  cpus.c:1466                     0.60895          
3156        192.95
BQL mutex  0x55a0171b7140  accel/tcg/cputlb.c:804          0.76337          
9282         82.24
BQL mutex  0x55a0171b7140  util/main-loop.c:236            0.00944          
6889          1.37
mutex      0x55a01813ce80  tcg/tcg.c:397                   0.00000            
24          0.15
mutex      0x55a0180d1bb0  monitor.c:458                   0.00018          
1922          0.09
mutex      [           2]  util/qemu-timer.c:426           0.00266         
32710          0.08
mutex      0x55a0180e4c78  chardev/char.c:109              0.00002           
260          0.08
mutex      0x55a0180d1bb0  monitor.c:448                   0.00001           
187          0.08
mutex      0x55a0171d9960  vl.c:763                        0.00047          
6889          0.07
mutex      [           3]  util/qemu-timer.c:520           0.00362         
53377          0.07
----------------------------------------------------------------------------------------------
(qemu) info sync-profile -m -n 15
Type               Object  Call site                 Wait Time (s)         
Count  Average (us)
----------------------------------------------------------------------------------------------
condvar    0x55a01813ced0  cpus.c:1165                   101.39331          
3398      29839.12
BQL mutex  0x55a0171b7140  accel/tcg/cpu-exec.c:432        7.92112          
3399       2330.43
BQL mutex  0x55a0171b7140  cpus.c:1434                    14.28280          
6922       2063.39
BQL mutex  0x55a0171b7140  accel/tcg/cputlb.c:870          5.77505          
3445       1676.36
BQL mutex  0x55a0171b7140  accel/tcg/cpu-exec.c:529        5.66139          
3883       1457.99
BQL mutex  0x55a0171b7140  cpus.c:1466                     0.60901          
3519        173.06
BQL mutex  0x55a0171b7140  accel/tcg/cputlb.c:804          0.76351         
10338         73.85
BQL mutex  0x55a0171b7140  util/main-loop.c:236            0.01032          
7664          1.35
mutex      0x55a0180e4f08  util/qemu-timer.c:426           0.00041           
901          0.45
mutex      0x55a01813ce80  tcg/tcg.c:397                   0.00000            
24          0.15
mutex      0x55a0180d1bb0  monitor.c:458                   0.00022          
2319          0.09
mutex      0x55a0180e4c78  chardev/char.c:109              0.00003           
306          0.08
mutex      0x55a0180e4f08  util/qemu-timer.c:520           0.00068          
8565          0.08
mutex      0x55a0180d1bb0  monitor.c:448                   0.00002           
215          0.08
mutex      0x55a0180e4f78  util/qemu-timer.c:426           0.00247         
34224          0.07
----------------------------------------------------------------------------------------------
(qemu) sync-profile reset
(qemu) info sync-profile -m 2
Type               Object  Call site               Wait Time (s)         Count  
Average (us)
--------------------------------------------------------------------------------------------
condvar    0x55a01813ced0  cpus.c:1165                   2.78756            99  
    28157.12
BQL mutex  0x55a0171b7140  accel/tcg/cputlb.c:870        0.33054           102  
     3240.55
--------------------------------------------------------------------------------------------
(qemu) sync-profile off
(qemu) sync-profile
sync-profile is off
(qemu) sync-profile reset
(qemu) info sync-profile
Type               Object  Call site  Wait Time (s)         Count  Average (us)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 66e9d20ee0cafcdfd4f1429071965d7a23145c1d
      
https://github.com/qemu/qemu/commit/66e9d20ee0cafcdfd4f1429071965d7a23145c1d
  Author: Heinrich Schuchardt <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: allow space in more places before a bracket

Allow a space between a colon and subsequent opening bracket.  This
sequence may occur in inline assembler statements like

        asm(
                "ldr %[out], [%[in]]\n\t"
                : [out] "=r" (ret)
                : [in] "r" (addr)
        );

Allow a space between a comma and subsequent opening bracket.  This
sequence may occur in designated initializers.

To ease backporting the patch, I am also changing the comma-bracket
detection (added in QEMU by commit 409db6eb7199af7a2f09f746bd1b793e9daefe5f)
to use the same regex as brackets and colons (as done independently
by Linux commit daebc534ac15f991961a5bb433e515988220e9bf).

Link: http://lkml.kernel.org/r/address@hidden
Signed-off-by: Heinrich Schuchardt <address@hidden>
Acked-by: Joe Perches <address@hidden>
Signed-off-by: Andrew Morton <address@hidden>
Signed-off-by: Linus Torvalds <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 039d7c4d53362fb0b7258470fae0fbeb7c881920
      
https://github.com/qemu/qemu/commit/039d7c4d53362fb0b7258470fae0fbeb7c881920
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M scripts/update-linux-headers.sh

  Log Message:
  -----------
  update-linux-headers.sh: add qemu_fw_cfg.h

The fw_cfg header was added during 4.17 cycle.

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


  Commit: 5be5df720e600502ff530cee51a7ac0622f62f6f
      
https://github.com/qemu/qemu/commit/5be5df720e600502ff530cee51a7ac0622f62f6f
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M dump.c
    M hw/misc/vmcoreinfo.c
    M include/hw/misc/vmcoreinfo.h
    M include/hw/nvram/fw_cfg.h
    R include/hw/nvram/fw_cfg_keys.h
    A include/standard-headers/linux/qemu_fw_cfg.h
    M pc-bios/optionrom/linuxboot_dma.c
    M pc-bios/optionrom/optionrom.h
    M tests/boot-order-test.c
    M tests/fw_cfg-test.c
    M tests/libqos/malloc-pc.c

  Log Message:
  -----------
  fw_cfg: import & use linux/qemu_fw_cfg.h

Use kernel common header for fw_cfg.

(unfortunately, optionrom.h must have its own define, since it's
actually an assembler header)

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


  Commit: e38bf612477fca62b205ebd909b1372a7e45a8c0
      
https://github.com/qemu/qemu/commit/e38bf612477fca62b205ebd909b1372a7e45a8c0
  Author: Eduardo Habkost <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: Fix arch_query_cpu_model_expansion() leak

Reported by Coverity:

Error: RESOURCE_LEAK (CWE-772): [#def439]
qemu-2.12.0/target/i386/cpu.c:3179: alloc_fn: Storage is returned from 
allocation function "qdict_new".
qemu-2.12.0/qobject/qdict.c:34:5: alloc_fn: Storage is returned from allocation 
function "g_malloc0".
qemu-2.12.0/qobject/qdict.c:34:5: var_assign: Assigning: "qdict" = 
"g_malloc0(4120UL)".
qemu-2.12.0/qobject/qdict.c:37:5: return_alloc: Returning allocated memory 
"qdict".
qemu-2.12.0/target/i386/cpu.c:3179: var_assign: Assigning: "props" = storage 
returned from "qdict_new()".
qemu-2.12.0/target/i386/cpu.c:3217: leaked_storage: Variable "props" going out 
of scope leaks the storage it points to.

This was introduced by commit b8097deb359b ("i386: Improve
query-cpu-model-expansion full mode").

The leak is only theoretical: if ret->model->props is set to
props, the qapi_free_CpuModelExpansionInfo() call will free props
too in case of errors.  The only way for this to not happen is if
we enter the default branch of the switch statement, which would
never happen because all CpuModelExpansionType values are being
handled.

It's still worth to change this to make the allocation logic
easier to follow and make the Coverity error go away.  To make
everything simpler, initialize ret->model and ret->model->props
earlier in the function.

While at it, remove redundant check for !prop because prop is
always initialized at the beginning of the function.

Fixes: b8097deb359bbbd92592b9670adfe9e245b2d0bd
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 966a09fac1e8d81738415a9f7e17f8f7cf458288
      
https://github.com/qemu/qemu/commit/966a09fac1e8d81738415a9f7e17f8f7cf458288
  Author: George Kennedy <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/scsi/lsi53c895a.c

  Log Message:
  -----------
  lsi_scsi: add support for PPR Extended Message

The LSI 53c895a code does not handle the PPR Extended Message. Add
support to handle PPR Extended Message like SDTR and WDTR are handled.
That is, to skip past the message bytes and ignore the message.

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


  Commit: 1fdd4748711a62d863744f42b958472509a6f202
      
https://github.com/qemu/qemu/commit/1fdd4748711a62d863744f42b958472509a6f202
  Author: Prasad Singamsetty <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  kvm: add call to qemu_add_opts() for -overcommit option

qemu command fails to process -overcommit option. Add the missing
call to qemu_add_opts() in vl.c.

Signed-off-by: Prasad Singamsetty <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Mark Kanda <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 692fbdf9f4c6f6bafd0b3a4d4f94973effd3bbae
      
https://github.com/qemu/qemu/commit/692fbdf9f4c6f6bafd0b3a4d4f94973effd3bbae
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M configure
    M tests/Makefile.include
    M tests/test-char.c
    M tests/test-x86-cpuid-compat.c
    M tests/vhost-user-test.c

  Log Message:
  -----------
  build-sys: remove glib_subprocess check

The check should be unnecessary since commit
e7b3af81597db1a6b55f2c15d030d703c6b2c6ac "glib: bump min required glib
library version to 2.40".

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0aca060526d3ff9632aaed66e8611814580c13de
      
https://github.com/qemu/qemu/commit/0aca060526d3ff9632aaed66e8611814580c13de
  Author: Andrew Oates <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M target/i386/seg_helper.c

  Log Message:
  -----------
  target-i386: Fix lcall/ljmp to call gate in IA-32e mode

Currently call gates are always treated as 32-bit gates.  In IA-32e mode
(either compatibility or 64-bit submode), system segment descriptors are
always 64-bit.  Treating them as 32-bit has the expected unfortunate
effect: only the lower 32 bits of the offset are loaded, the stack
pointer is truncated, a bad new stack pointer is loaded from the TSS (if
switching privilege levels), etc.

This change adds support for 64-bit call gate to the lcall and ljmp
instructions.  Additionally, there should be a check for non-canonical
stack pointers, but I've omitted that since there doesn't seem to be
checks for non-canonical addresses in this code elsewhere.

I've left the raise_exception_err_ra lines unwapped at 80 columns to
match the style in the rest of the file.

Signed-off-by: Andrew Oates <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: db7196db5d5d932f388643baae6835f8dcda6921
      
https://github.com/qemu/qemu/commit/db7196db5d5d932f388643baae6835f8dcda6921
  Author: Andrew Oates <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M target/i386/seg_helper.c

  Log Message:
  -----------
  target-i386: fix segment limit check in ljmp

The current implementation has three bugs,
 * segment limits are not enforced in protected mode if the L bit is set
   in the target segment descriptor
 * segment limits are not enforced in compatibility mode (ljmp to 32-bit
   code segment in long mode)
 * #GP(new_cs) is generated rather than #GP(0)

Now the segment limits are enforced if we're not in long mode OR the
target code segment doesn't have the L bit set.

Signed-off-by: Andrew Oates <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c177e0bf063659427874bf78236a762b5f040546
      
https://github.com/qemu/qemu/commit/c177e0bf063659427874bf78236a762b5f040546
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/rcu_queue.h

  Log Message:
  -----------
  rcu_queue: use atomic_set in QLIST_REMOVE_RCU

To avoid undefined behaviour.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 735d1af662f50634d79699a7c0a9633c0ac08251
      
https://github.com/qemu/qemu/commit/735d1af662f50634d79699a7c0a9633c0ac08251
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/rcu_queue.h

  Log Message:
  -----------
  rcu_queue: remove barrier from QLIST_EMPTY_RCU

It's unnecessary because the pointer isn't dereferenced.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 13d8ef7dda07aaf199db2dc2611c22b1089dec34
      
https://github.com/qemu/qemu/commit/13d8ef7dda07aaf199db2dc2611c22b1089dec34
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/rcu_queue.h

  Log Message:
  -----------
  rcu_queue: add RCU QSIMPLEQ

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 945d9c7530dd22a7a500dd8833836d6054a17ab9
      
https://github.com/qemu/qemu/commit/945d9c7530dd22a7a500dd8833836d6054a17ab9
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/rcu_queue.h

  Log Message:
  -----------
  rcu_queue: add RCU QTAILQ

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 23311b81820767f156500744ff5fa84f56bc7fd1
      
https://github.com/qemu/qemu/commit/23311b81820767f156500744ff5fa84f56bc7fd1
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/test-rcu-list.c

  Log Message:
  -----------
  test-rcu-list: access goflag with atomics

Instead of declaring it volatile.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 685cc7c0ec7a142371ac9b10bf88faf838ec52cc
      
https://github.com/qemu/qemu/commit/685cc7c0ec7a142371ac9b10bf88faf838ec52cc
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/test-rcu-list.c

  Log Message:
  -----------
  test-rcu-list: abstract the list implementation

So that we can test other implementations.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 90487e455bc605a10b885df9aefd9c2174e5f106
      
https://github.com/qemu/qemu/commit/90487e455bc605a10b885df9aefd9c2174e5f106
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/Makefile.include
    M tests/test-rcu-list.c
    A tests/test-rcu-simpleq.c

  Log Message:
  -----------
  tests: add test-list-simpleq

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: dbf8862a39f3099004366f1bd66d534b1590a34f
      
https://github.com/qemu/qemu/commit/dbf8862a39f3099004366f1bd66d534b1590a34f
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M tests/Makefile.include
    M tests/test-rcu-list.c
    A tests/test-rcu-tailq.c

  Log Message:
  -----------
  tests: add test-rcu-tailq

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 04d595b300041bec645c862baccbea1c8befb6d4
      
https://github.com/qemu/qemu/commit/04d595b300041bec645c862baccbea1c8befb6d4
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: do not use CPU_FOREACH_REVERSE

This paves the way for implementing the CPU list with an RCU list,
which cannot be traversed in reverse order.

Note that this is the only caller of CPU_FOREACH_REVERSE.

Acked-by: David Gibson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 068a5ea02f62853116788a2c42d8851a94bb7567
      
https://github.com/qemu/qemu/commit/068a5ea02f62853116788a2c42d8851a94bb7567
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M cpus-common.c
    M cpus.c
    M include/qom/cpu.h
    M linux-user/main.c
    M linux-user/syscall.c
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  qom: convert the CPU list to RCU

Iterating over the list without using atomics is undefined behaviour,
since the list can be modified concurrently by other threads (e.g.
every time a new thread is created in user-mode).

Fix it by implementing the CPU list as an RCU QTAILQ. This requires
a little bit of extra work to traverse list in reverse order (see
previous patch), but other than that the conversion is trivial.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 21f80e8fa74d72367e376dedf48f09f7b2e66003
      
https://github.com/qemu/qemu/commit/21f80e8fa74d72367e376dedf48f09f7b2e66003
  Author: Peter Maydell <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/intc/apic.c

  Log Message:
  -----------
  hw/intc/apic: Switch away from old_mmio

Switch the apic away from using the old_mmio MemoryRegionOps
accessor functions.

Signed-off-by: Peter Maydell <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7294e600eb814fd2ca17738969413d3a5b7d1c02
      
https://github.com/qemu/qemu/commit/7294e600eb814fd2ca17738969413d3a5b7d1c02
  Author: Christian Ehrhardt <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M scripts/qemu-guest-agent/fsfreeze-hook

  Log Message:
  -----------
  qemu-guest-agent: freeze-hook to ignore dpkg files as well

The hook already skips a set of rpm upgrade artifacts.
Do the same with such files that might be created by dpkg.

Fixes: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1484990

Signed-off-by: Christian Ehrhardt <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 900610e631c0371070aad4d9482fd42915166948
      
https://github.com/qemu/qemu/commit/900610e631c0371070aad4d9482fd42915166948
  Author: ryang <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M util/module.c

  Log Message:
  -----------
  module: Use QEMU_MODULE_DIR as a search path

The current paths for modules are CONFIG_QEMU_MODDIR and paths relative
to the executable. Qemu and its modules can be installed and executed in
paths that are different from these search paths. This change allows
a search path to be specified by environment variable.

An example usage for this is postmarketOS[1]. This is a build environment
for Alpine Linux. It sets up Alpine Linux in a chroot environment.
Alpine's Qemu packages are installed in the chroot. The Alpine Linux Qemu
package is used to test compiled Alpine Linux system images. This way there
isn't a reliance on the which ever version of Qemu the host system / distro
provides.

postmarketOS executes Qemu on host system outside of the chroot
The Qemu module search path needs to point to the location of the
chroot relative to the host system.

e.g.
The root of the Alpine Linux chroot is:
~/.local/var/pmbootstrap/chroot_native/

Alpine's Qemu is installed at
~/.local/var/pmbootstrap/chroot_native/usr/bin/

The Qemu module search path needs to be:
QEMU_MODULE_DIR=~/.local/var/pmbootstrap/chroot_native/usr/lib/qemu/

[1] https://postmarketos.org/

Signed-off-by: ryang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c1ff073cd88eddce5a0870791431878b96d08157
      
https://github.com/qemu/qemu/commit/c1ff073cd88eddce5a0870791431878b96d08157
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: protect all icount computation with seqlock

Move the icount->ns computation to cpu_get_icount, and make
cpu_get_icount_locked return the raw value.  This makes the
atomic_read__nocheck safe, because it now happens always inside a
seqlock and any torn reads will be retried.  qemu_icount_bias and
icount_time_shift also need to be accessed with atomics.  At the
same time, however, you don't need atomic_read within the writer,
because no concurrent writes are possible.

The fix to vmstate lets us keep the struct nicely packed.
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 988fcafc730242711ba92f9e62557e37f2b22cc0
      
https://github.com/qemu/qemu/commit/988fcafc730242711ba92f9e62557e37f2b22cc0
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M include/qemu/seqlock.h

  Log Message:
  -----------
  seqlock: add QemuLockable support

A shortcut when the seqlock write is protected by a spinlock or any mutex
other than the BQL.

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


  Commit: 94377115b2458506579907f3ebf1ffbfea12b216
      
https://github.com/qemu/qemu/commit/94377115b2458506579907f3ebf1ffbfea12b216
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: protect TimerState writes with a spinlock

In the next patch, we will need to write cpu_ticks_offset from any
thread, even outside the BQL.  Currently, it is protected by the BQL
just because cpu_enable_ticks and cpu_disable_ticks happen to hold it,
but the critical sections are well delimited and it's easy to remove
the BQL dependency.

Add a spinlock that matches vm_clock_seqlock, and hold it when writing
to the TimerState.  This also lets us fix cpu_update_icount when 64-bit
atomics are not available.

Fields of TiemrState are reordered to avoid padding.

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


  Commit: f2a4ad6d49e0683f4abb12e89797da889e4aadb9
      
https://github.com/qemu/qemu/commit/f2a4ad6d49e0683f4abb12e89797da889e4aadb9
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: allow cpu_get_ticks out of BQL

Because of cpu_ticks_prev, we cannot use a seqlock.  But then the conversion
is even easier. :)

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


  Commit: eb5757fcbe149a3ea20bc9987d3147efe7e3866a
      
https://github.com/qemu/qemu/commit/eb5757fcbe149a3ea20bc9987d3147efe7e3866a
  Author: Greg Edwards <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/scsi/vhost-user-scsi.c
    M include/hw/virtio/vhost-scsi-common.h
    M include/hw/virtio/vhost-user-scsi.h

  Log Message:
  -----------
  vhost-user-scsi: move host_features into VHostSCSICommon

In preparation for having vhost-scsi also make use of host_features,
move it from struct VHostUserSCSI into struct VHostSCSICommon.

Signed-off-by: Greg Edwards <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Felipe Franciosi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b1110d833c74c09c90c26235aed1b7eb5e85910a
      
https://github.com/qemu/qemu/commit/b1110d833c74c09c90c26235aed1b7eb5e85910a
  Author: Greg Edwards <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/scsi/vhost-scsi-common.c
    M hw/scsi/vhost-user-scsi.c

  Log Message:
  -----------
  vhost-scsi: unify vhost-scsi get_features implementations

Move the enablement of preset host features into the common
vhost_scsi_common_get_features() function.  This is in preparation for
having vhost-scsi also make use of host_features.

Signed-off-by: Greg Edwards <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Felipe Franciosi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f287fdd94e545d23d9fbd55fb58e346160e2d19f
      
https://github.com/qemu/qemu/commit/f287fdd94e545d23d9fbd55fb58e346160e2d19f
  Author: Greg Edwards <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/scsi/vhost-scsi.c
    M hw/scsi/vhost-user-scsi.c

  Log Message:
  -----------
  vhost-scsi: expose 't10_pi' property for VIRTIO_SCSI_F_T10_PI

Allow toggling on/off the VIRTIO_SCSI_F_T10_PI feature bit for both
vhost-scsi and vhost-user-scsi devices.

Signed-off-by: Greg Edwards <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Felipe Franciosi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: efbb649da0d4b13a036211fbc79d514b7c2efd43
      
https://github.com/qemu/qemu/commit/efbb649da0d4b13a036211fbc79d514b7c2efd43
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/ipmi/isa_ipmi_bt.c

  Log Message:
  -----------
  ipmi: Use proper struct reference for BT vmstate

The vmstate for isa_ipmi_bt was referencing into the bt structure,
instead create a bt structure separate and use that.

The version 1 of the BT transfer was fairly broken, if a migration
occured during an IPMI operation, it is likely the migration would
be corrupted because I misunderstood the VMSTATE_VBUFFER_UINT32()
handling, I thought it handled transferring the length field,
too.  So I just remove support for that.  I doubt anyone is using
it at this point.

This also removes the transfer of use_irq, since that should come
from configuration.

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


  Commit: 8f1ffe5be8178aa7dd72c06ac4d65096d149c573
      
https://github.com/qemu/qemu/commit/8f1ffe5be8178aa7dd72c06ac4d65096d149c573
  Author: David Hildenbrand <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i386/pc.c
    M hw/mem/pc-dimm.c
    M hw/ppc/spapr.c
    M include/hw/mem/pc-dimm.h

  Log Message:
  -----------
  pc-dimm: assign and verify the "slot" property during pre_plug

We can assign and verify the slot before realizing and trying to plug.
reading/writing the slot property should never fail, so let's reduce
error handling a bit by using &error_abort.

To do this during pre_plug, add and use (x86, ppc) pc_dimm_pre_plug().

Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Eric Auger <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 714efd540c95430a121183cf90c6fb1e96348bd5
      
https://github.com/qemu/qemu/commit/714efd540c95430a121183cf90c6fb1e96348bd5
  Author: David Hildenbrand <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M util/oslib-win32.c

  Log Message:
  -----------
  util/oslib-win32: indicate alignment for qemu_anon_ram_alloc()

Let's set the alignment just like for the posix variant. This will
implicitly set the alignment of the underlying memory region and
therefore make memory_region_get_alignment(mr) return something > 0 for
all memory backends applicable to PCDIMM/NVDIMM.

The allocation granularity is ususally 64k, while the page size is 4k.
The documentation of VirtualAlloc is not really comprehensible in case
only MEM_COMMIT is specified without an address. We'll detect the actual
values and then go for the bigger one. The expection is, that it will
always be 64k aligned. (The assumption is that MEM_COMMIT does an
implicit MEM_RESERVE, so the address will always be aligned to the
allocation granularity. And the allocation granularity is always bigger
than the page size).

This will allow us to drop special handling in pc.c for
memory_region_get_alignment(mr) == 0, as we can then assume that it is
always set (and AFAICS >= getpagesize()).

For pc in pc_memory_plug(), under Windows TARGET_PAGE_SIZE == getpagesize(),
therefore alignment of DIMMs will not change, and therefore also not the
guest physical memory layout.

For spapr in spapr_memory_plug(), an alignment of 0 would have been used
until now. As QEMU_ALIGN_UP will crash with the alignment being 0, this
never worked, so we don't have to care about compatibility handling.

Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 57f0b73cf80281cfe4d4186564ccaf4141d39f0f
      
https://github.com/qemu/qemu/commit/57f0b73cf80281cfe4d4186564ccaf4141d39f0f
  Author: David Hildenbrand <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: drop memory region alignment check for 0

All applicable memory regions always have an alignment > 0. All memory
backends result in file_ram_alloc() or qemu_anon_ram_alloc() getting
called, setting the alignment to > 0.

So a PCDIMM memory region always has an alignment > 0. NVDIMM copy the
alignment of the original memory memory region into the handcrafted memory
region that will be used at this place.

So the check for 0 can be dropped and we can reduce the special
handling.

Dropping this check makes factoring out of alignment handling easier as
compat handling only has to look at pcmc->enforce_aligned_dimm and not
care about the alignment of the memory region.

Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b0e624435b6ab395a07fad92abe7f89b5c7a6f47
      
https://github.com/qemu/qemu/commit/b0e624435b6ab395a07fad92abe7f89b5c7a6f47
  Author: David Hildenbrand <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i386/pc.c
    M hw/mem/pc-dimm.c
    M hw/ppc/spapr.c
    M include/hw/mem/pc-dimm.h

  Log Message:
  -----------
  pc-dimm: assign and verify the "addr" property during pre_plug

We can assign and verify the address before realizing and trying to plug.
reading/writing the address property should never fail for DIMMs, so let's
reduce error handling a bit by using &error_abort. Getting access to the
memory region now might however fail. So forward errors from
get_memory_region() properly.

As all memory devices should use the alignment of the underlying memory
region for guest physical address asignment, do detection of the
alignment in pc_dimm_pre_plug(), but allow pc.c to overwrite the
alignment for compatibility handling.

Reviewed-by: Eric Auger <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b8fb9043eb48ddc3dc80cf88def62ae0c7c57a69
      
https://github.com/qemu/qemu/commit/b8fb9043eb48ddc3dc80cf88def62ae0c7c57a69
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i2c/pm_smbus.c

  Log Message:
  -----------
  i2c: pm_smbus: Clean up some style issues

Fix some spacing issues, remove extraneous comments, add some
defines instead of hard-coding numbers.

Signed-off-by: Corey Minyard <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4b615be540d8566f4b981245b4d5401163c57ced
      
https://github.com/qemu/qemu/commit/4b615be540d8566f4b981245b4d5401163c57ced
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i2c/pm_smbus.c
    M hw/i2c/smbus.c
    M include/hw/i2c/smbus.h

  Log Message:
  -----------
  i2c: pm_smbus: Fix the semantics of block I2C transfers

The I2C block transfer commands was not implemented correctly, it
read a length byte and such like it was an smbus transfer.

So fix the smbus_read_block() and smbus_write_block() functions
so they can properly handle I2C transfers, and normal SMBus
transfers (for upcoming changes).  Pass in a transfer size and
a bool to know whether to use the size byte (like SMBus) or use
the length given (like I2C).

Signed-off-by: Corey Minyard <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 00bdfeab1584e68bad76034e4ffc33595533fe7d
      
https://github.com/qemu/qemu/commit/00bdfeab1584e68bad76034e4ffc33595533fe7d
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i2c/pm_smbus.c

  Log Message:
  -----------
  i2c: pm_smbus: Make the I2C block read command read-only

It did have write capability, but the manual says the behavior
with write enabled is undefined.  So just set an error in this
case.

Signed-off-by: Corey Minyard <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 38ad4fae43b9c57a4ef3111217b110b25dbd3c50
      
https://github.com/qemu/qemu/commit/38ad4fae43b9c57a4ef3111217b110b25dbd3c50
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i2c/pm_smbus.c
    M hw/i2c/smbus_ich9.c
    M include/hw/i2c/pm_smbus.h

  Log Message:
  -----------
  i2c: pm_smbus: Add block transfer capability

There was no block transfer code in pm_smbus.c, and it is needed
for some devices.  So add it.

This adds both byte-by-byte block transfers and buffered block
transfers.

Signed-off-by: Corey Minyard <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e724385a7071483b95c3cc8a33d130f781daa217
      
https://github.com/qemu/qemu/commit/e724385a7071483b95c3cc8a33d130f781daa217
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i2c/pm_smbus.c
    M hw/i2c/smbus_ich9.c
    M include/hw/i2c/pm_smbus.h

  Log Message:
  -----------
  i2c: pm_smbus: Add interrupt handling

Add the necessary code so that interrupts actually work from
the pm_smbus device.

Signed-off-by: Corey Minyard <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 12bd93c150239020803b1ae08af819cd38e55360
      
https://github.com/qemu/qemu/commit/12bd93c150239020803b1ae08af819cd38e55360
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/i2c/pm_smbus.c

  Log Message:
  -----------
  i2c: pm_smbus: Don't delay host status register busy bit when interrupts are 
enabled

Change 880b1ffe6ec2f0ae "smbus: do not immediately complete commands"
changed pm_smbus to delay setting the host busy bit until the status
register was read, to work around a bug in AMIBIOS.  Unfortunately,
when interrupts are enabled, the status register will never get read
and the processing will never happen.

Modify the code to only delay setting the host busy bit if interrupts
are not enabled.

Signed-off-by: Corey Minyard <address@hidden>
Cc: Hervé Poussineau <address@hidden>
Cc: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 45726b6e2c6075826cacd87f7bdde372589b7cf3
      
https://github.com/qemu/qemu/commit/45726b6e2c6075826cacd87f7bdde372589b7cf3
  Author: Corey Minyard <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M hw/acpi/piix4.c
    M hw/i2c/pm_smbus.c
    M hw/i2c/smbus_ich9.c
    M hw/isa/vt82c686.c
    M include/hw/i2c/pm_smbus.h

  Log Message:
  -----------
  i2c: pm_smbus: Add the ability to force block transfer enable

The PIIX4 hardware has block transfer buffer always enabled in
the hardware, but the i801 does not.  Add a parameter to pm_smbus_init
to force on the block transfer so the PIIX4 handler can enable this
by default, as it was disabled by default before.

Signed-off-by: Corey Minyard <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5e76d84e690954d79af357fafb1903113a00b32e
      
https://github.com/qemu/qemu/commit/5e76d84e690954d79af357fafb1903113a00b32e
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M target/i386/cpu.h

  Log Message:
  -----------
  target/i386: update MPX flags when CPL changes

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


  Commit: b2e78fac6f27c36938353e477354778896adc08f
      
https://github.com/qemu/qemu/commit/b2e78fac6f27c36938353e477354778896adc08f
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M accel/kvm/kvm-all.c
    M target/i386/kvm.c

  Log Message:
  -----------
  KVM: cleanup unnecessary #ifdef KVM_CAP_...

The capability macros are always defined, since they come from kernel
headers that are copied into the QEMU tree.  Remove the unnecessary #ifdefs.

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


  Commit: 3c825bb7c1b4289ef05f51b5b77ac0967b6a27fa
      
https://github.com/qemu/qemu/commit/3c825bb7c1b4289ef05f51b5b77ac0967b6a27fa
  Author: Peter Maydell <address@hidden>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M MAINTAINERS
    M accel/kvm/kvm-all.c
    M configure
    M cpus-common.c
    M cpus.c
    M disas/m68k.c
    M dump.c
    M hmp-commands-info.hx
    M hmp-commands.hx
    M hmp.c
    M hmp.h
    M hw/acpi/piix4.c
    M hw/arm/pxa2xx.c
    M hw/audio/cs4231a.c
    M hw/audio/es1370.c
    M hw/audio/gusemu_hal.c
    M hw/audio/sb16.c
    M hw/display/cg3.c
    M hw/display/cirrus_vga.c
    M hw/i2c/pm_smbus.c
    M hw/i2c/smbus.c
    M hw/i2c/smbus_ich9.c
    M hw/i386/pc.c
    M hw/intc/apic.c
    M hw/ipmi/isa_ipmi_bt.c
    M hw/isa/vt82c686.c
    M hw/mem/pc-dimm.c
    M hw/misc/vmcoreinfo.c
    M hw/ppc/prep.c
    M hw/ppc/spapr.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/megasas.c
    M hw/scsi/mptsas.c
    M hw/scsi/vhost-scsi-common.c
    M hw/scsi/vhost-scsi.c
    M hw/scsi/vhost-user-scsi.c
    M hw/timer/mc146818rtc.c
    M hw/timer/sh_timer.c
    M include/chardev/char-fe.h
    M include/hw/i2c/pm_smbus.h
    M include/hw/i2c/smbus.h
    M include/hw/mem/pc-dimm.h
    M include/hw/misc/vmcoreinfo.h
    M include/hw/nvram/fw_cfg.h
    R include/hw/nvram/fw_cfg_keys.h
    M include/hw/virtio/vhost-scsi-common.h
    M include/hw/virtio/vhost-user-scsi.h
    M include/qemu/main-loop.h
    M include/qemu/qht.h
    A include/qemu/qsp.h
    M include/qemu/rcu_queue.h
    M include/qemu/seqlock.h
    M include/qemu/thread-posix.h
    M include/qemu/thread-win32.h
    M include/qemu/thread.h
    M include/qom/cpu.h
    A include/standard-headers/linux/qemu_fw_cfg.h
    M linux-user/main.c
    M linux-user/syscall.c
    M monitor.c
    M pc-bios/optionrom/linuxboot_dma.c
    M pc-bios/optionrom/optionrom.h
    M qemu-options.hx
    M scripts/checkpatch.pl
    M scripts/qemu-guest-agent/fsfreeze-hook
    M scripts/update-linux-headers.sh
    M scsi/qemu-pr-helper.c
    M stubs/iothread-lock.c
    M target/arm/helper.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm.c
    M target/i386/seg_helper.c
    M target/i386/translate.c
    M target/s390x/cpu_models.c
    M tests/Makefile.include
    M tests/atomic_add-bench.c
    M tests/boot-order-test.c
    M tests/cpu-plug-test.c
    M tests/device-introspect-test.c
    M tests/fw_cfg-test.c
    M tests/libqos/malloc-pc.c
    M tests/libqtest.c
    M tests/libqtest.h
    M tests/migration-test.c
    M tests/qom-test.c
    M tests/test-char.c
    M tests/test-hmp.c
    M tests/test-rcu-list.c
    A tests/test-rcu-simpleq.c
    A tests/test-rcu-tailq.c
    M tests/test-x86-cpuid-compat.c
    M tests/vhost-user-test.c
    A tests/virtio-ccw-test.c
    M util/Makefile.objs
    M util/module.c
    M util/oslib-win32.c
    M util/qemu-thread-win32.c
    M util/qht.c
    A util/qsp.c
    M vl.c

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

* x86 TCG fixes for 64-bit call gates (Andrew)
* qumu-guest-agent freeze-hook tweak (Christian)
* pm_smbus improvements (Corey)
* Move validation to pre_plug for pc-dimm (David)
* Fix memory leaks (Eduardo, Marc-André)
* synchronization profiler (Emilio)
* Convert the CPU list to RCU (Emilio)
* LSI support for PPR Extended Message (George)
* vhost-scsi support for protection information (Greg)
* Mark mptsas as a storage device in the help (Guenter)
* checkpatch tweak cherry-picked from Linux (me)
* Typos, cleanups and dead-code removal (Julia, Marc-André)
* qemu-pr-helper support for old libmultipath (Murilo)
* Annotate fallthroughs (me)
* MemoryRegionOps cleanup (me, Peter)
* Make s390 qtests independent from libqos, which doesn't actually support it 
(me)
* Make cpu_get_ticks independent from BQL (me)
* Introspection fixes (Thomas)
* Support QEMU_MODULE_DIR environment variable (ryang)

# gpg: Signature made Thu 23 Aug 2018 17:46:30 BST
# gpg:                using RSA key BFFBD25F78C7AE83
# 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

* remotes/bonzini/tags/for-upstream: (69 commits)
  KVM: cleanup unnecessary #ifdef KVM_CAP_...
  target/i386: update MPX flags when CPL changes
  i2c: pm_smbus: Add the ability to force block transfer enable
  i2c: pm_smbus: Don't delay host status register busy bit when interrupts are 
enabled
  i2c: pm_smbus: Add interrupt handling
  i2c: pm_smbus: Add block transfer capability
  i2c: pm_smbus: Make the I2C block read command read-only
  i2c: pm_smbus: Fix the semantics of block I2C transfers
  i2c: pm_smbus: Clean up some style issues
  pc-dimm: assign and verify the "addr" property during pre_plug
  pc: drop memory region alignment check for 0
  util/oslib-win32: indicate alignment for qemu_anon_ram_alloc()
  pc-dimm: assign and verify the "slot" property during pre_plug
  ipmi: Use proper struct reference for BT vmstate
  vhost-scsi: expose 't10_pi' property for VIRTIO_SCSI_F_T10_PI
  vhost-scsi: unify vhost-scsi get_features implementations
  vhost-user-scsi: move host_features into VHostSCSICommon
  cpus: allow cpu_get_ticks out of BQL
  cpus: protect TimerState writes with a spinlock
  seqlock: add QemuLockable support
  ...

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


Compare: https://github.com/qemu/qemu/compare/5ccac548faf0...3c825bb7c1b4
      **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

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