qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] c6a56c: target/i386: fix pmovsx/pmovzx in-pla


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] c6a56c: target/i386: fix pmovsx/pmovzx in-place operations
Date: Tue, 19 Sep 2017 09:10:37 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c6a56c8e990b213a1638af2d34352771d5fa4d9c
      
https://github.com/qemu/qemu/commit/c6a56c8e990b213a1638af2d34352771d5fa4d9c
  Author: Joseph Myers <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/ops_sse.h

  Log Message:
  -----------
  target/i386: fix pmovsx/pmovzx in-place operations

The SSE4.1 pmovsx* and pmovzx* instructions take packed 1-byte, 2-byte
or 4-byte inputs and sign-extend or zero-extend them to a wider vector
output.  The associated helpers for these instructions do the
extension on each element in turn, starting with the lowest.  If the
input and output are the same register, this means that all the input
elements after the first have been overwritten before they are read.
This patch makes the helpers extend starting with the highest element,
not the lowest, to avoid such overwriting.  This fixes many GCC test
failures (161 in the gcc testsuite in my GCC 6-based testing) when
testing with a default CPU setting enabling those instructions.

Signed-off-by: Joseph Myers <address@hidden>

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


  Commit: c6a8242915328cda0df0fbc0803da3448137e614
      
https://github.com/qemu/qemu/commit/c6a8242915328cda0df0fbc0803da3448137e614
  Author: Joseph Myers <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: set rip_offset for further SSE instructions

It turns out that my recent fix to set rip_offset when emulating some
SSE4.1 instructions needs generalizing to cover a wider class of
instructions.  Specifically, every instruction in the sse_op_table7
table, coming from various instruction set extensions, has an 8-bit
immediate operand that comes after any memory operand, and so needs
rip_offset set for correctness if there is a memory operand that is
rip-relative, and my patch only set it for a subset of those
instructions.  This patch moves the rip_offset setting to cover the
wider class of instructions, so fixing 9 further gcc testsuite
failures in my GCC 6-based testing.  (I do not know whether there
might be still further classes of instructions missing this setting.)

Signed-off-by: Joseph Myers <address@hidden>

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


  Commit: 80e19606215d4df370dfe8fe21c558a129f00f0b
      
https://github.com/qemu/qemu/commit/80e19606215d4df370dfe8fe21c558a129f00f0b
  Author: Joseph Myers <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/ops_sse.h

  Log Message:
  -----------
  target/i386: fix packusdw in-place operation

The SSE4.1 packusdw instruction combines source and destination
vectors of signed 32-bit integers into a single vector of unsigned
16-bit integers, with unsigned saturation.  When the source and
destination are the same register, this means each 32-bit element of
that register is used twice as an input, to produce two of the 16-bit
output elements, and so if the operation is carried out
element-by-element in-place, no matter what the order in which it is
applied to the elements, the first element's operation will overwrite
some future input.  The helper for packssdw avoids this issue by
computing the result in a local temporary and copying it to the
destination at the end; this patch fixes the packusdw helper to do
likewise.  This fixes three gcc test failures in my GCC 6-based
testing.

Signed-off-by: Joseph Myers <address@hidden>

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


  Commit: ae35eea7e4a9f21dd147406dfbcd0c4c6aaf2a60
      
https://github.com/qemu/qemu/commit/ae35eea7e4a9f21dd147406dfbcd0c4c6aaf2a60
  Author: Joseph Myers <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/ops_sse.h

  Log Message:
  -----------
  target/i386: fix pcmpxstrx substring search

One of the cases of the SSE4.2 pcmpestri / pcmpestrm / pcmpistri /
pcmpistrm instructions does a substring search.  The implementation of
this case in the pcmpxstrx helper is incorrect.  The operation in this
case is a search for a string (argument d to the helper) in another
string (argument s to the helper); if a copy of d at a particular
position would run off the end of s, the resulting output bit should
be 0 whether or not the strings match in the region where they
overlap, but the QEMU implementation was wrongly comparing only up to
the point where s ends and counting it as a match if an initial
segment of d matched a terminal segment of s.  Here, "run off the end
of s" means that some byte of d would overlap some byte outside of s;
thus, if d has zero length, it is considered to match everywhere,
including after the end of s.  This patch fixes the implementation to
correspond with the proper instruction semantics.  This fixes four gcc
test failures in my GCC 6-based testing.

Signed-off-by: Joseph Myers <address@hidden>

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


  Commit: aa406feadfc5b095ca147ec56d6187c64be015a7
      
https://github.com/qemu/qemu/commit/aa406feadfc5b095ca147ec56d6187c64be015a7
  Author: Joseph Myers <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/ops_sse.h

  Log Message:
  -----------
  target/i386: fix phminposuw in-place operation

The SSE4.1 phminposuw instruction finds the minimum 16-bit element in
the source vector, putting the value of that element in the low 16
bits of the destination vector, the index of that element in the next
three bits and zeroing the rest of the destination.  The helper for
this operation fills the destination from high to low, meaning that
when the source and destination are the same register, the minimum
source element can be overwritten before it is copied to the
destination.  This patch fixes it to fill the destination from low to
high instead, so the minimum source element is always copied first.
This fixes one gcc test failure in my GCC 6-based testing (and so
concludes the present sequence of patches, as I don't have any further
gcc test failures left in that testing that I attribute to QEMU bugs).

Signed-off-by: Joseph Myers <address@hidden>

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


  Commit: 5c0919d02066c3d0eb896c33265ad90101a6a84a
      
https://github.com/qemu/qemu/commit/5c0919d02066c3d0eb896c33265ad90101a6a84a
  Author: Richard W.M. Jones <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  virtio-scsi: Add virtqueue_size parameter allowing virtqueue size to be set.

Since Linux switched to blk-mq as the default in Linux commit
5c279bd9e406 ("scsi: default to scsi-mq"), virtio-scsi LUNs consume
about 10x as much guest kernel memory.

This commit allows you to choose the virtqueue size for each
virtio-scsi-pci controller like this:

  -device virtio-scsi-pci,id=scsi,virtqueue_size=16

The default is still 128 as before.  Using smaller virtqueue_size
allows many more disks to be added to small memory virtual machines.
For a 1 vCPU, 500 MB, no swap VM I observed:

  With scsi-mq enabled (upstream kernel):              175 disks
    -"- ditto -"-   virtqueue_size=64:                 318 disks
    -"- ditto -"-   virtqueue_size=16:                 775 disks
  With scsi-mq disabled (kernel before 5c279bd9e406): 1755 disks

Note that to have any effect, this requires a kernel patch:

  https://lkml.org/lkml/2017/8/10/689

Signed-off-by: Richard W.M. Jones <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b07fbce6349c7b84642e7ed56c7a1ac3c1caca61
      
https://github.com/qemu/qemu/commit/b07fbce6349c7b84642e7ed56c7a1ac3c1caca61
  Author: Hannes Reinecke <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/scsi/scsi-bus.c

  Log Message:
  -----------
  scsi-bus: correct responses for INQUIRY and REQUEST SENSE

According to SPC-3 INQUIRY and REQUEST SENSE should return GOOD
even on unsupported LUNS.

Signed-off-by: Hannes Reinecke <address@hidden>
Message-Id: <address@hidden>
Reported-by: Laszlo Ersek <address@hidden>
Fixes: ded6ddc5a7b95217557fa360913d1213e12d4a6d
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Hannes Reinecke <address@hidden>


  Commit: 2875135807771a0d07ba1c878c20b757ed7adffb
      
https://github.com/qemu/qemu/commit/2875135807771a0d07ba1c878c20b757ed7adffb
  Author: Fam Zheng <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M MAINTAINERS
    M block/iscsi.c
    A include/scsi/scsi.h
    M util/Makefile.objs
    A util/scsi.c

  Log Message:
  -----------
  scsi: Refactor scsi sense interpreting code

So that it can be reused outside of iscsi.c.

Also update MAINTAINERS to include the new files in SCSI section.

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


  Commit: 5efa3c04483d408a03ff5f018842501a2048a51b
      
https://github.com/qemu/qemu/commit/5efa3c04483d408a03ff5f018842501a2048a51b
  Author: Fam Zheng <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M util/scsi.c

  Log Message:
  -----------
  scsi: Improve scsi_sense_to_errno

Tweak the errno mapping to return more accurate/appropriate values.

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


  Commit: a485b23425c755867d6caa6ab590be4e0473e35a
      
https://github.com/qemu/qemu/commit/a485b23425c755867d6caa6ab590be4e0473e35a
  Author: Fam Zheng <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M include/scsi/scsi.h
    M util/scsi.c

  Log Message:
  -----------
  scsi: Introduce scsi_sense_buf_to_errno

This recognizes the "fixed" and "descriptor" format sense data, extracts
the sense key/asc/ascq fields then converts them to an errno.

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


  Commit: 14b207487f38b7913134a4b6675d515e87d85a42
      
https://github.com/qemu/qemu/commit/14b207487f38b7913134a4b6675d515e87d85a42
  Author: Fam Zheng <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/scsi/scsi-disk.c

  Log Message:
  -----------
  scsi-block: Support rerror/werror

This makes the werror/rerror options available on the scsi-block device,
to allow user specify error handling policy similar to scsi-hd.

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


  Commit: 37b6045c455275af37f0433b05b0dad123e14daf
      
https://github.com/qemu/qemu/commit/37b6045c455275af37f0433b05b0dad123e14daf
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M include/hw/scsi/scsi.h

  Log Message:
  -----------
  scsi: rename scsi_build_sense to scsi_convert_sense

After introducing the scsi/ subdirectory, there will be a scsi_build_sense
function that is the same as scsi_req_build_sense but without needing
a SCSIRequest.  The existing scsi_build_sense function gets in the way,
remove it.

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


  Commit: e5b5728cd330f533e02e483af8973ad7ffccce8b
      
https://github.com/qemu/qemu/commit/e5b5728cd330f533e02e483af8973ad7ffccce8b
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M MAINTAINERS
    M Makefile.objs
    M block/iscsi.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M include/block/scsi.h
    M include/hw/scsi/scsi.h
    R include/scsi/scsi.h
    A include/scsi/utils.h
    A scsi/Makefile.objs
    A scsi/utils.c
    M util/Makefile.objs
    R util/scsi.c

  Log Message:
  -----------
  scsi: move non-emulation specific code to scsi/

util/scsi.c includes some SCSI code that is shared by block/iscsi.c and
hw/scsi, but the introduction of the persistent reservation helper
will add many more instances of this.  There is also include/block/scsi.h,
which actually is not part of the core block layer.

The persistent reservation manager will also need a home.  A scsi/
directory provides one for both the aforementioned shared code and
the PR manager code.

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


  Commit: a3760467c6b0ff5d1ff952fdc8cec69c65e19499
      
https://github.com/qemu/qemu/commit/a3760467c6b0ff5d1ff952fdc8cec69c65e19499
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/scsi/scsi-bus.c
    M include/scsi/utils.h
    M scsi/utils.c

  Log Message:
  -----------
  scsi: introduce scsi_build_sense

Move more knowledge of sense data format out of hw/scsi/scsi-bus.c
for reusability.

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1ead6b4e242e59711976cdf2502dd5c7cd5d340a
      
https://github.com/qemu/qemu/commit/1ead6b4e242e59711976cdf2502dd5c7cd5d340a
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/scsi/scsi-generic.c
    M include/scsi/utils.h
    M scsi/utils.c

  Log Message:
  -----------
  scsi: introduce sg_io_sense_from_errno

Move more knowledge of SG_IO out of hw/scsi/scsi-generic.c, for
reusability.

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


  Commit: 08e2c9f19ce791b3a0fb6adbf962ab4902ec5a7b
      
https://github.com/qemu/qemu/commit/08e2c9f19ce791b3a0fb6adbf962ab4902ec5a7b
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M block/iscsi.c
    M hw/block/virtio-blk.c
    M hw/scsi/megasas.c
    M hw/scsi/mptendian.c
    M hw/scsi/mptsas.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M hw/scsi/spapr_vscsi.c
    M hw/scsi/virtio-scsi-dataplane.c
    M hw/scsi/virtio-scsi.c
    M hw/scsi/vmw_pvscsi.c
    M hw/usb/dev-uas.c
    R include/block/scsi.h
    M include/hw/ide/internal.h
    A include/scsi/constants.h
    M scsi/utils.c
    M tests/virtio-scsi-test.c

  Log Message:
  -----------
  scsi: move block/scsi.h to include/scsi/constants.h

Complete the transition by renaming this header, which was
shared by block/iscsi.c and the SCSI emulation code.

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7a5bd53d09b1fb42376388ee703dc81be6994baa
      
https://github.com/qemu/qemu/commit/7a5bd53d09b1fb42376388ee703dc81be6994baa
  Author: Xiao Guangrong <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: update mail address for NVDIMM

My Intel mail account will be disabled soon, update the mail info
to my private mail

Signed-off-by: Xiao Guangrong <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1d268dece4991915c0dd0f882248cbcb22ae8ffc
      
https://github.com/qemu/qemu/commit/1d268dece4991915c0dd0f882248cbcb22ae8ffc
  Author: Ladi Prosek <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/kvm: use a switch statement for MSR detection

Switch is easier on the eye and might lead to better codegen.

Signed-off-by: Ladi Prosek <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ddb98b5a9ff27b21100da1d701ddf5da34c66673
      
https://github.com/qemu/qemu/commit/ddb98b5a9ff27b21100da1d701ddf5da34c66673
  Author: Ladi Prosek <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/kvm: set tsc_khz before configuring Hyper-V CPUID

Timing-related Hyper-V enlightenments will benefit from knowing the final
tsc_khz value. This commit just moves the code in preparation for further
changes.

Signed-off-by: Ladi Prosek <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4bb95b82df7ea4a1c7de15649dd16a70a19e6bab
      
https://github.com/qemu/qemu/commit/4bb95b82df7ea4a1c7de15649dd16a70a19e6bab
  Author: Ladi Prosek <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/kvm: introduce tsc_is_stable_and_known()

Move the "is TSC stable and known" condition to a reusable helper.

Signed-off-by: Ladi Prosek <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d72bc7f6f8a397790abee4a25ba1b8c35dd2b841
      
https://github.com/qemu/qemu/commit/d72bc7f6f8a397790abee4a25ba1b8c35dd2b841
  Author: Ladi Prosek <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/kvm: advertise Hyper-V frequency MSRs

As of kernel commit eb82feea59d6 ("KVM: hyperv: support HV_X64_MSR_TSC_FREQUENCY
and HV_X64_MSR_APIC_FREQUENCY"), KVM supports two new MSRs which are required
for nested Hyper-V to read timestamps with RDTSC + TSC page.

This commit makes QEMU advertise the MSRs with CPUID.40000003H:EAX[11] and
CPUID.40000003H:EDX[8] as specified in the Hyper-V TLFS and experimentally
verified on a Hyper-V host. The feature is enabled with the existing hv-time CPU
flag, and only if the TSC frequency is stable across migrations and known.

Signed-off-by: Ladi Prosek <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3fdfb8b6a5a5816a061b9bfbf971a3b4d4fa64d6
      
https://github.com/qemu/qemu/commit/3fdfb8b6a5a5816a061b9bfbf971a3b4d4fa64d6
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: update email, add missing test entry for megasas

and update maintainer email address

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


  Commit: a16878d224657b245892b4f6c93c6ea75f12ef00
      
https://github.com/qemu/qemu/commit/a16878d224657b245892b4f6c93c6ea75f12ef00
  Author: Kamil Rytarowski <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: Rename queue to mrqueue (memory region queue)

SunOS declares struct queue in <netinet/in.h>.

This fixes build on SmartOS (Joyent).

Patch cherry-picked from pkgsrc by jperkin (Joyent).

Signed-off-by: Kamil Rytarowski <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 80cac47e951f2d94e7f7b9b112612acb2af9c3ca
      
https://github.com/qemu/qemu/commit/80cac47e951f2d94e7f7b9b112612acb2af9c3ca
  Author: Kamil Rytarowski <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/scsi/esp.c

  Log Message:
  -----------
  scsi/esp: Rename the ESP macro to ESP_STATE

SunOS defines ESP (x86 register) in <sys/regset.h> as 7.

This fixes build on SmartOS (Joyent).

Signed-off-by: Kamil Rytarowski <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ed4f86e8b6eff8e600c69adee68c7cd34dd2cccb
      
https://github.com/qemu/qemu/commit/ed4f86e8b6eff8e600c69adee68c7cd34dd2cccb
  Author: Prasad J Pandit <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/i386/multiboot.c

  Log Message:
  -----------
  multiboot: validate multiboot header address values

While loading kernel via multiboot-v1 image, (flags & 0x00010000)
indicates that multiboot header contains valid addresses to load
the kernel image. These addresses are used to compute kernel
size and kernel text offset in the OS image. Validate these
address values to avoid an OOB access issue.

This is CVE-2017-14167.

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


  Commit: 89de4b9138f35bec4e499235babbb15a889fa135
      
https://github.com/qemu/qemu/commit/89de4b9138f35bec4e499235babbb15a889fa135
  Author: David Hildenbrand <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  kvm: require JOIN_MEMORY_REGIONS_WORKS

We already require DESTROY_MEMORY_REGION_WORKS, JOIN_MEMORY_REGIONS_WORKS
was added just half a year later.

In addition, with flatview overlapping memory regions are first
removed before adding the changed one. So we can't really detect joining
memory regions this way.

Let's just get rid of this special handling.

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


  Commit: 5ea69c2e36148e5b5607f0919756c12c9637039b
      
https://github.com/qemu/qemu/commit/5ea69c2e36148e5b5607f0919756c12c9637039b
  Author: David Hildenbrand <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  kvm: factor out alignment of memory section

Factor it out, so we can reuse it later.

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


  Commit: 2747e7167214f23b255b64654815aeb3f74b1296
      
https://github.com/qemu/qemu/commit/2747e7167214f23b255b64654815aeb3f74b1296
  Author: David Hildenbrand <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  kvm: use start + size for memory ranges

Convert kvm_lookup_matching_slot().

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


  Commit: f357f564be0bd45245b3ccfbbe20ace08fe83ca8
      
https://github.com/qemu/qemu/commit/f357f564be0bd45245b3ccfbbe20ace08fe83ca8
  Author: David Hildenbrand <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  kvm: we never have overlapping slots in kvm_set_phys_mem()

The way flatview handles memory sections, we will never have overlapping
memory sections in kvm.

address_space_update_topology_pass() will make sure that we will only
get called for

a) an existing memory section for which we only update parameters
(log_start, log_stop).
b) an existing memory section we want to delete (region_del)
c) a brand new memory section we want to add (region_add)

We cannot have overlapping memory sections in kvm as we will first remove
the overlapping sections and then add the ones without conflicts.

Therefore we can remove the complexity for handling prefix and suffix
slots.

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


  Commit: 343562e8fa2222046feb3a730f60397784d108de
      
https://github.com/qemu/qemu/commit/343562e8fa2222046feb3a730f60397784d108de
  Author: David Hildenbrand <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  kvm: kvm_log_start/stop are only called with known sections

Let's properly align the sections first and bail out if we would ever
get called with a memory section we don't know yet.

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


  Commit: 67548f09656eaedf6b48712639afc7bddd2d9526
      
https://github.com/qemu/qemu/commit/67548f09656eaedf6b48712639afc7bddd2d9526
  Author: David Hildenbrand <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  kvm: kvm_log_sync() is only called with known memory sections

Flatview will make sure that we can only end up in this function with
memory sections that correspond to exactly one slot. So we don't
have to iterate multiple times. There won't be overlapping slots but
only matching slots.

Properly align the section and look up the corresponding slot. This
heavily simplifies this function.

We can now get rid of kvm_lookup_overlapping_slot().

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


  Commit: 4be75077b9a5016903e5f8a7ecd2edb590a6d57c
      
https://github.com/qemu/qemu/commit/4be75077b9a5016903e5f8a7ecd2edb590a6d57c
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  test-qga: add missing qemu-ga tool dependency

this fixes running 'make check-unit' without running 'make all' beforehand:

$ make check-unit
  ...
  GTESTER tests/test-qga
**
ERROR:tests/test-qga.c:73:fixture_setup: assertion failed (error == NULL): 
Failed to execute child process "/build/qemu/qemu-ga" (No such file or 
directory) (g-exec-error-quark, 8)
make: *** [check-tests/test-qga] Error 1

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


  Commit: 9e5d2c5273694c196fc0ccc56a67caabf77adcaa
      
https://github.com/qemu/qemu/commit/9e5d2c5273694c196fc0ccc56a67caabf77adcaa
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/i386/acpi-build.c
    M hw/i386/pc.c
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  hw/i386: Improve some of the warning messages

Signed-off-by: Alistair Francis <address@hidden>
Suggested-by: Eduardo Habkost <address@hidden>
Cc: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 55d527a94d1e9e166cdc0d18a27d35e26a14af7b
      
https://github.com/qemu/qemu/commit/55d527a94d1e9e166cdc0d18a27d35e26a14af7b
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M block/qcow2.c
    M target/s390x/kvm.c
    M trace/control.c

  Log Message:
  -----------
  Convert remaining error_report() to warn_report()

In a previous patch (3dc6f8693694a649a9c83f1e2746565b47683923) we
converted uses of error_report("warning:"... to use warn_report()
instead. This was to help standardise on a single method of printing
warnings to the user.

There appears to have been some cases that slipped through in patch sets
applied around the same time, this patch catches the few remaining
cases.

All of the warnings were changed using this command:
  find ./* -type f -exec sed -i \
    's|error_report(".*warning[,:] |warn_report("|Ig' {} +

Indentation fixed up manually afterwards.

Two messages were manually fixed up as well.

Signed-off-by: Alistair Francis <address@hidden>
Cc: Kevin Wolf <address@hidden>
Cc: Max Reitz <address@hidden>
Cc: Christian Borntraeger <address@hidden>
Cc: Cornelia Huck <address@hidden>
Cc: Alexander Graf <address@hidden>
Cc: Richard Henderson <address@hidden>
Cc: Stefan Hajnoczi <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 2ab4b135638ab595fa534d46d8358125d2ae1f6a
      
https://github.com/qemu/qemu/commit/2ab4b135638ab595fa534d46d8358125d2ae1f6a
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M block/vvfat.c
    M hw/acpi/core.c
    M hw/i386/pc.c
    M hw/misc/applesmc.c
    M hw/usb/hcd-ehci.c
    M hw/virtio/virtio-balloon.c
    M net/hub.c
    M qga/vss-win32.c
    M target/mips/kvm.c
    M trace/simple.c
    M ui/keymaps.c
    M ui/spice-display.c

  Log Message:
  -----------
  Convert single line fprintf(.../n) to warn_report()

Convert all the single line uses of fprintf(stderr, "warning:"..."\n"...
to use warn_report() instead. This helps standardise on a single
method of printing warnings to the user.

All of the warnings were changed using this command:
  find ./* -type f -exec sed -i \
    's|fprintf(.*".*warning[,:] \(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig' \
    {} +

Some of the lines were manually edited to reduce the line length to below
80 charecters.

The #include lines were manually updated to allow the code to compile.

Signed-off-by: Alistair Francis <address@hidden>
Cc: Kevin Wolf <address@hidden>
Cc: Max Reitz <address@hidden>
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Igor Mammedov <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Richard Henderson <address@hidden>
Cc: Eduardo Habkost <address@hidden>
Cc: Gerd Hoffmann <address@hidden>
Cc: Jason Wang <address@hidden>
Cc: Michael Roth <address@hidden>
Cc: James Hogan <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Cc: Yongbok Kim <address@hidden>
Cc: Stefan Hajnoczi <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: James Hogan <address@hidden> [mips]
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 8297be80f7cf71e09617669a8bd8b2836dcfd4c3
      
https://github.com/qemu/qemu/commit/8297be80f7cf71e09617669a8bd8b2836dcfd4c3
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M accel/kvm/kvm-all.c
    M block/vvfat.c
    M hw/acpi/core.c
    M hw/arm/vexpress.c
    M hw/i386/xen/xen-mapcache.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_r4k.c
    M hw/s390x/s390-virtio.c
    M net/hub.c
    M net/net.c
    M target/i386/cpu.c
    M target/i386/hax-mem.c
    M target/ppc/translate_init.c
    M ui/keymaps.c
    M util/main-loop.c

  Log Message:
  -----------
  Convert multi-line fprintf() to warn_report()

Convert all the multi-line uses of fprintf(stderr, "warning:"..."\n"...
to use warn_report() instead. This helps standardise on a single
method of printing warnings to the user.

All of the warnings were changed using these commands:
  find ./* -type f -exec sed -i \
    'N; {s|fprintf(.*".*warning[,:] 
\(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig}' \
    {} +
  find ./* -type f -exec sed -i \
    'N;N; {s|fprintf(.*".*warning[,:] 
\(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig}' \
    {} +
  find ./* -type f -exec sed -i \
    'N;N;N; {s|fprintf(.*".*warning[,:] 
\(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig}' \
    {} +
  find ./* -type f -exec sed -i \
    'N;N;N;N {s|fprintf(.*".*warning[,:] 
\(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig}' \
    {} +
  find ./* -type f -exec sed -i \
    'N;N;N;N;N {s|fprintf(.*".*warning[,:] 
\(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig}' \
    {} +
  find ./* -type f -exec sed -i \
    'N;N;N;N;N;N {s|fprintf(.*".*warning[,:] 
\(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig}' \
    {} +
  find ./* -type f -exec sed -i \
    'N;N;N;N;N;N;N; {s|fprintf(.*".*warning[,:] 
\(.*\)\\n"\(.*\));|warn_report("\1"\2);|Ig}' \
    {} +

Indentation fixed up manually afterwards.

Some of the lines were manually edited to reduce the line length to below
80 charecters. Some of the lines with newlines in the middle of the
string were also manually edit to avoid checkpatch errrors.

The #include lines were manually updated to allow the code to compile.

Several of the warning messages can be improved after this patch, to
keep this patch mechanical this has been moved into a later patch.

Signed-off-by: Alistair Francis <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Kevin Wolf <address@hidden>
Cc: Max Reitz <address@hidden>
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Igor Mammedov <address@hidden>
Cc: Peter Maydell <address@hidden>
Cc: Stefano Stabellini <address@hidden>
Cc: Anthony Perard <address@hidden>
Cc: Richard Henderson <address@hidden>
Cc: Eduardo Habkost <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Cc: Yongbok Kim <address@hidden>
Cc: Cornelia Huck <address@hidden>
Cc: Christian Borntraeger <address@hidden>
Cc: Alexander Graf <address@hidden>
Cc: Jason Wang <address@hidden>
Cc: David Gibson <address@hidden>
Cc: Gerd Hoffmann <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b62e39b4690348d6b162a5506ea93523498c2563
      
https://github.com/qemu/qemu/commit/b62e39b4690348d6b162a5506ea93523498c2563
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M block/vvfat.c
    M hw/arm/vexpress.c
    M hw/i386/xen/xen-mapcache.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_r4k.c
    M hw/s390x/s390-virtio.c
    M net/hub.c
    M net/net.c
    M target/i386/hax-mem.c
    M target/ppc/translate_init.c
    M ui/keymaps.c

  Log Message:
  -----------
  General warn report fixups

Tidy up some of the warn_report() messages after having converted them
to use warn_report().

Signed-off-by: Alistair Francis <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 288cb9490ba13e0572e44a67df8c9c2f703c7847
      
https://github.com/qemu/qemu/commit/288cb9490ba13e0572e44a67df8c9c2f703c7847
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/mips/kvm.c

  Log Message:
  -----------
  target/mips: Convert VM clock update prints to warn_report

Convert the fprintf() messages in kvm_mips_update_state() to use
warn_report() as they aren't errors, but are just warnings.

Signed-off-by: Alistair Francis <address@hidden>
Cc: James Hogan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9ee24e98d31f1eb2fbd63f911d68f76ccec531a9
      
https://github.com/qemu/qemu/commit/9ee24e98d31f1eb2fbd63f911d68f76ccec531a9
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M tests/Makefile.include
    M tests/ptimer-test-stubs.c

  Log Message:
  -----------
  ptimer-test: do not link to libqemustub.a/libqemuutil.a

This test provides its own mocks, so do not use the "standard"
stubs in libqemustub.a or the event loop implementation in
libqemuutil.a.

This is required on OS X, which otherwise brings in qemu-timer.o,
async.o and main-loop.o from libqemuutil.a.

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


  Commit: ebedb37c8d2aa477517158fd88e6ff0f6a60485d
      
https://github.com/qemu/qemu/commit/ebedb37c8d2aa477517158fd88e6ff0f6a60485d
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M Makefile
    M Makefile.target
    M docs/devel/build-system.txt
    M tests/Makefile.include

  Log Message:
  -----------
  Makefile: Remove libqemustub.a

Using two libraries (libqemuutil.a and libqemustub.a) would sometimes
result in circular dependencies. To avoid these issues let's just
combine both into a single library that functions as both.

Signed-off-by: Alistair Francis <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 05cb8ed5467ff0f154f9356fa0cdcf7fca4b17f6
      
https://github.com/qemu/qemu/commit/05cb8ed5467ff0f154f9356fa0cdcf7fca4b17f6
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M tests/Makefile.include
    M util/cutils.c

  Log Message:
  -----------
  Convert remaining single line fprintf() to warn_report()

Convert any remaining uses of fprintf(stderr, "warning:"...
to use warn_report() instead. This helps standardise on a single
method of printing warnings to the user.

All of the warnings were changed using this command:
  find ./* -type f -exec sed -i 's|fprintf(.*".*warning[,:] |warn_report("|Ig' 
{} +

The #include lines and chagnes to the test Makefile were manually
updated to allow the code to compile.

Signed-off-by: Alistair Francis <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6c69dfb67e84747cf071958594d939e845dfcc0c
      
https://github.com/qemu/qemu/commit/6c69dfb67e84747cf071958594d939e845dfcc0c
  Author: Gonglei <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M include/hw/i386/pc.h
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/cpu/hyperv: support over 64 vcpus for windows guests

Starting with Windows Server 2012 and Windows 8, if
CPUID.40000005.EAX contains a value of -1, Windows assumes specific
limit to the number of VPs. In this case, Windows Server 2012
guest VMs may use more than 64 VPs, up to the maximum supported
number of processors applicable to the specific Windows
version being used.

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs

For compatibility, Let's introduce a new property for X86CPU,
named "x-hv-max-vps" as Eduardo's suggestion, and set it
to 0x40 before machine 2.10.

(The "x-" prefix indicates that the property is not supposed to
be a stable user interface.)

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


  Commit: 5e95381260e668a3a02aff5485401788b41b3050
      
https://github.com/qemu/qemu/commit/5e95381260e668a3a02aff5485401788b41b3050
  Author: Roman Kagan <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h
    A target/i386/hyperv-proto.h
    M target/i386/hyperv.c
    M target/i386/kvm.c
    M target/i386/machine.c

  Log Message:
  -----------
  hyperv: add header with protocol definitions

The definitions for Hyper-V emulation are currently taken from a header
imported from the Linux kernel.

However, as these describe a third-party protocol rather than a kernel
API, it probably wasn't a good idea to publish it in the kernel uapi.

This patch introduces a header that provides all the necessary
definitions, superseding the one coming from the kernel.

The new header supports (temporary) coexistence with the kernel one.
The constants explicitly named in the Hyper-V specification (e.g. msr
numbers) are defined in a non-conflicting way.  Other constants and
types have got new names.

While at this, the protocol data structures are defined in a more
conventional way, without bitfields, enums, and excessive unions.

The code using this stuff is adjusted, too; it can now be built both
with and without the kernel header in the tree.

Signed-off-by: Roman Kagan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 40bf8e9aede0f9105a9e1e4aaf17b20aaa55f9a0
      
https://github.com/qemu/qemu/commit/40bf8e9aede0f9105a9e1e4aaf17b20aaa55f9a0
  Author: Roman Kagan <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

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

  Log Message:
  -----------
  update-linux-headers: prepare for hyperv.h removal

All definitions related to Hyper-V emulation are now taken from the QEMU
own header, so the one imported from the kernel is no longer needed.

Unfortunately it's included by kvm_para.h.

So, until this is fixed in the kernel, teach the header harvesting
script to substitute kernel's hyperv.h with a dummy.

Signed-off-by: Roman Kagan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 8e1fe1753ae110f5003aa83da24326667045c3ae
      
https://github.com/qemu/qemu/commit/8e1fe1753ae110f5003aa83da24326667045c3ae
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts: let checkpatch.pl process an entire GIT branch

Currently before submitting a series, devs should run checkpatch.pl
across each patch to be submitted. This can be automated using a
command such as:

  git rebase -i master -x 'git show | ./scripts/checkpatch.pl -'

This is rather long winded to type, so this patch introduces a way
to tell checkpatch.pl to validate a series of GIT revisions.

There are now three modes it can operate in 1) check a patch 2) check a source
file, or 3) check a git branch.

If no flags are given, the mode is determined by checking the args passed to
the command. If the args contain a literal ".." it is treated as a GIT revision
list. If the args end in ".patch" or equal "-" it is treated as a patch file.
Otherwise it is treated as a source file.

This automatic guessing can be overridden using --[no-]patch --[no-]file or
--[no-]branch

For example to check a GIT revision list:

    $ ./scripts/checkpatch.pl master..
    total: 0 errors, 0 warnings, 297 lines checked

    b886d352a2bf58f0996471fb3991a138373a2957 has no obvious style problems and 
is ready for submission.
    total: 0 errors, 0 warnings, 182 lines checked

    2a731f9a9ce145e0e0df6d42dd2a3ce4dfc543fa has no obvious style problems and 
is ready for submission.
    total: 0 errors, 0 warnings, 102 lines checked

    11844169bcc0c8ed4449eb3744a69877ed329dd7 has no obvious style problems and 
is ready for submission.

If a genuine patch filename contains the characters '..' it is
possible to force interpretation of the arg as a patch

  $ ./scripts/checkpatch.pl --patch master..

will force it to load a patch file called "master..", or equivalently

  $ ./scripts/checkpatch.pl --no-branch master..

will simply turn off guessing of GIT revision lists.

Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 128b52e8d15f98c6a0734208d85f83e78a7ac652
      
https://github.com/qemu/qemu/commit/128b52e8d15f98c6a0734208d85f83e78a7ac652
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M target/i386/monitor.c

  Log Message:
  -----------
  target/i386: fix "info mem" for LA57 mode

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


  Commit: 4c44a007b58a88641d6f831ec3542060d6d8c122
      
https://github.com/qemu/qemu/commit/4c44a007b58a88641d6f831ec3542060d6d8c122
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M Makefile.target
    M accel/stubs/Makefile.objs
    A accel/stubs/hax-stub.c
    R hax-stub.c

  Log Message:
  -----------
  accel/hax: move hax-stub.c to accel/stubs/

Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 825bfa0052a684f71f36693976fabad185e203c4
      
https://github.com/qemu/qemu/commit/825bfa0052a684f71f36693976fabad185e203c4
  Author: Greg Kurz <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: add hwaddr to @typeList

The script doesn't know about all possible types and learn them as
it parses the code. If it reaches a line with a type cast but the
type isn't known yet, it is misinterpreted as an identifier.

For example the following line:

    foo = (hwaddr) -1;

results in the following false-positive to be reported:

ERROR: spaces required around that '-' (ctx:VxV)

Let's add this standard QEMU type to the list of pre-known types.

Signed-off-by: Greg Kurz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 262a69f4282e44426c7a132138581d400053e0a1
      
https://github.com/qemu/qemu/commit/262a69f4282e44426c7a132138581d400053e0a1
  Author: Eric Blake <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M hw/scsi/mptsas.c
    M hw/virtio/virtio.c
    M include/qemu/osdep.h

  Log Message:
  -----------
  osdep.h: Prohibit disabling assert() in supported builds

We already have several files that knowingly require assert()
to work, sometimes because refactoring the code for proper
error handling has not been tackled yet; there are probably
other files that have a similar situation but with no comments
documenting the same.  In fact, we have places in migration
that handle untrusted input with assertions, where disabling
the assertions risks a worse security hole than the current
behavior of losing the guest to SIGABRT when migration fails
because of the assertion.  Promote our current per-file
safety-valve to instead be project-wide, and expand it to also
cover glib's g_assert().

Note that we do NOT want to encourage 'assert(side-effects);'
(that is a bad practice that prevents copy-and-paste of code to
other projects that CAN disable assertions; plus it costs
unnecessary reviewer mental cycles to remember whether a project
special-cases the crippling of asserts); and we would LIKE to
fix migration to not rely on asserts (but that takes a big code
audit).  But in the meantime, we DO want to send a message
that anyone that disables assertions has to tweak code in order
to compile, making it obvious that they are taking on additional
risk that we are not going to support.  At the same time, leave
comments mentioning NDEBUG in files that we know still need to
be scrubbed, so there is at least something to grep for.

It would be possible to come up with some other mechanism for
doing runtime checking by default, but which does not abort
the program on failure, while leaving side effects in place
(unlike how crippling assert() avoids even the side effects),
perhaps under the name q_verify(); but it was not deemed worth
the effort (developers should not have to learn a replacement
when the standard C macro works just fine, and it would be a lot
of churn for little gain).  The patch specifically uses #error
rather than #warn so that a user is forced to tweak the header
to acknowledge the issue, even when not using a -Werror
compilation.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>

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


  Commit: d321e6d58eb088d239b6be8ef0938c530d8164da
      
https://github.com/qemu/qemu/commit/d321e6d58eb088d239b6be8ef0938c530d8164da
  Author: Thomas Huth <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M default-configs/pci.mak
    M default-configs/ppc-softmmu.mak
    M default-configs/ppc64-softmmu.mak
    M default-configs/s390x-softmmu.mak

  Log Message:
  -----------
  default-configs: Replace $(and ...) with $(call land, ...)

Using $(and ...) is dangerous here: It only works as long as the first
argument is set to 'y' or completely unset. It does not work if the
first argument is set to 'n' for example. Let's use the "land" make
function instead which has been written explicitely for this purpose.

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


  Commit: 7437866bfc3b25663f415a8c660fd78360e84598
      
https://github.com/qemu/qemu/commit/7437866bfc3b25663f415a8c660fd78360e84598
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M tests/docker/Makefile.include

  Log Message:
  -----------
  docker: fix creation of archives

The pixman submodule does not exist anymore, and its removal broke
docker-based tests.  Fix it.

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


  Commit: 7ec6a364916c0d1eba01128481e503a550a2b466
      
https://github.com/qemu/qemu/commit/7ec6a364916c0d1eba01128481e503a550a2b466
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-19 (Tue, 19 Sep 2017)

  Changed paths:
    M MAINTAINERS
    M Makefile
    M Makefile.objs
    M Makefile.target
    M accel/kvm/kvm-all.c
    M accel/stubs/Makefile.objs
    A accel/stubs/hax-stub.c
    M block/iscsi.c
    M block/qcow2.c
    M block/vvfat.c
    M default-configs/pci.mak
    M default-configs/ppc-softmmu.mak
    M default-configs/ppc64-softmmu.mak
    M default-configs/s390x-softmmu.mak
    M docs/devel/build-system.txt
    R hax-stub.c
    M hw/acpi/core.c
    M hw/arm/vexpress.c
    M hw/block/virtio-blk.c
    M hw/i386/acpi-build.c
    M hw/i386/multiboot.c
    M hw/i386/pc.c
    M hw/i386/pc_q35.c
    M hw/i386/xen/xen-mapcache.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_r4k.c
    M hw/misc/applesmc.c
    M hw/s390x/s390-virtio.c
    M hw/scsi/esp.c
    M hw/scsi/megasas.c
    M hw/scsi/mptendian.c
    M hw/scsi/mptsas.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M hw/scsi/spapr_vscsi.c
    M hw/scsi/virtio-scsi-dataplane.c
    M hw/scsi/virtio-scsi.c
    M hw/scsi/vmw_pvscsi.c
    M hw/usb/dev-uas.c
    M hw/usb/hcd-ehci.c
    M hw/virtio/virtio-balloon.c
    M hw/virtio/virtio.c
    R include/block/scsi.h
    M include/hw/i386/pc.h
    M include/hw/ide/internal.h
    M include/hw/scsi/scsi.h
    M include/hw/virtio/virtio-scsi.h
    M include/qemu/osdep.h
    A include/scsi/constants.h
    A include/scsi/utils.h
    M memory.c
    M net/hub.c
    M net/net.c
    M qga/vss-win32.c
    M scripts/checkpatch.pl
    M scripts/update-linux-headers.sh
    A scsi/Makefile.objs
    A scsi/utils.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/hax-mem.c
    A target/i386/hyperv-proto.h
    M target/i386/hyperv.c
    M target/i386/kvm.c
    M target/i386/machine.c
    M target/i386/monitor.c
    M target/i386/ops_sse.h
    M target/i386/translate.c
    M target/mips/kvm.c
    M target/ppc/translate_init.c
    M target/s390x/kvm.c
    M tests/Makefile.include
    M tests/docker/Makefile.include
    M tests/ptimer-test-stubs.c
    M tests/virtio-scsi-test.c
    M trace/control.c
    M trace/simple.c
    M ui/keymaps.c
    M ui/spice-display.c
    M util/cutils.c
    M util/main-loop.c

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

* warning improvements (Alistair)
* KVM code cleanup (David)
* scsi-block support for rerror/werror (Fam)
* support for >64 vCPUs in Windows (Gonglei)
* SCSI fix (Hannes)
* SSE bugfixes (Joseph)
* SmartOS compilation fixes (Kamil)
* Hyper-V frequency MSR support (Ladi)
* move more files to accel/tcg (Philippe, Thomas)
* multiboot validation (PJP)
* virtqueue size configuration for virtio-scsi (Richard)
* Hyper-V header cleanup (Roman)
* Maintainer email update (Guangrong)
* checkpatch.pl --branch (Daniel), fixes (Greg)
* introducing scsi/ (me)

# gpg: Signature made Tue 19 Sep 2017 15:21:26 BST
# 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

* remotes/bonzini/tags/for-upstream: (51 commits)
  docker: fix creation of archives
  default-configs: Replace $(and ...) with $(call land, ...)
  osdep.h: Prohibit disabling assert() in supported builds
  checkpatch: add hwaddr to @typeList
  accel/hax: move hax-stub.c to accel/stubs/
  target/i386: fix "info mem" for LA57 mode
  scripts: let checkpatch.pl process an entire GIT branch
  update-linux-headers: prepare for hyperv.h removal
  hyperv: add header with protocol definitions
  i386/cpu/hyperv: support over 64 vcpus for windows guests
  Convert remaining single line fprintf() to warn_report()
  Makefile: Remove libqemustub.a
  ptimer-test: do not link to libqemustub.a/libqemuutil.a
  target/mips: Convert VM clock update prints to warn_report
  General warn report fixups
  Convert multi-line fprintf() to warn_report()
  Convert single line fprintf(.../n) to warn_report()
  Convert remaining error_report() to warn_report()
  hw/i386: Improve some of the warning messages
  test-qga: add missing qemu-ga tool dependency
  ...

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


Compare: https://github.com/qemu/qemu/compare/11e06ce1ed28...7ec6a364916c

reply via email to

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