qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] a2d577: tcg/svm: use host cr4 during NPT page


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] a2d577: tcg/svm: use host cr4 during NPT page table walk
Date: Sat, 11 Jul 2020 11:30:29 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a2d57703b3e735c700689b030c126fa8ba6793b9
      
https://github.com/qemu/qemu/commit/a2d57703b3e735c700689b030c126fa8ba6793b9
  Author: Alexander Boettcher <alexander.boettcher@genode-labs.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/excp_helper.c
    M target/i386/svm.h
    M target/i386/svm_helper.c

  Log Message:
  -----------
  tcg/svm: use host cr4 during NPT page table walk

During a page table walk of TCG+SVM the code in target/i386/excp_helper.c
get_hphys() uses the cr4 register of the guest instead of the hypervisor
to check for the PSE bit. In the test case we have, the guest have not
enabled (yet) the PSE bit and so the page table walk results in a wrong
host physical address resolution and wrong content read by the guest.

Attached patch is against 4.2.1, but works also on 3.1.0. It fixes the
issue for our automated testcase, which is a 32bit hypervisor w/o PAE
support running a guest VM with tcg+svm.

The test worked beforehand up to qemu 2.12, started to fail with qemu 3.0
and later. The added TCG/SVM NPT commit seems to introduce the regression.

In case someone want to try to reproduce it, the iso is at [0], the good
case is [1] and the failing case is [2]. The used commandline is:

qemu-system-i386 -no-kvm -nographic -cpu phenom -m 512 -machine q35 -cdrom 
seoul-vmm-test.iso

[0] https://depot.genode.org/alex-ab/images/seoul-vmm-test.iso
[1] https://depot.genode.org/alex-ab/images/seoul-vmm-good.txt
[2] https://depot.genode.org/alex-ab/images/seoul-vmm-bad.txt

Signed-off-by: Alexander Boettcher <alexander.boettcher@genode-labs.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3bcb5840f1b3ef9970da963bf94f637b665387ef
      
https://github.com/qemu/qemu/commit/3bcb5840f1b3ef9970da963bf94f637b665387ef
  Author: Havard Skinnemoen <hskinnemoen@google.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  tests: Inject test name also when the test fails

If a test is unsuccessful, the result is "not ok", which does not match
the regex because it includes a space.

This regex matches both "ok" and "not ok".

Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-Id: <20200628213046.2028271-1-hskinnemoen@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2880ffb08995238714b175db703c13fac4725cc1
      
https://github.com/qemu/qemu/commit/2880ffb08995238714b175db703c13fac4725cc1
  Author: Mario Smarduch <msmarduch@digitalocean.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M include/qemu/error-report.h
    M qemu-options.hx
    M softmmu/vl.c
    M util/qemu-error.c

  Log Message:
  -----------
  util/qemu-error: prepend guest name to error message to identify affected VM 
owner

This is followup patch to the one submitted back in Oct, 19

https://lists.gnu.org/archive/html/qemu-devel/2019-10/msg02102.html

My mistake here, I took my eyes of the mailing list after I got the
initial thumbs up. This patch follows up on Markus comments in the
above link.

Purpose of this patch:

We want to print guest name for errors, warnings and info messages. This
was the first of two patches the second being MCE errors targeting a VM
with guest name prepended. But in a large fleet we see many other
errors that disable a VM or crash it. In a large fleet and centralized
logging having the guest name enables identify of owner and customer.

Signed-off-by: Mario Smarduch <msmarduch@digitalocean.com>
Message-Id: <20200626201900.8876-1-msmarduch@digitalocean.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: db57fef1e285a1f56a2d99b83456abf2f0b86e96
      
https://github.com/qemu/qemu/commit/db57fef1e285a1f56a2d99b83456abf2f0b86e96
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M include/qom/object.h
    M qom/object.c
    M qom/object_interfaces.c

  Log Message:
  -----------
  qom: Introduce object_property_try_add_child()

object_property_add() does not allow object_property_try_add()
to gracefully fail as &error_abort is passed as an error handle.

However such failure can easily be triggered from the QMP shell when,
for instance, one attempts to create an object with an id that already
exists. This is achieved from the following call path:

qmp_object_add -> user_creatable_add_dict -> user_creatable_add_type ->
object_property_add_child -> object_property_add

For instance, from the qmp-shell, call twice:
object-add qom-type=memory-backend-ram id=mem1 props.size=1073741824
and QEMU aborts.

This behavior is undesired as a user/management application mistake
in reusing a property ID shouldn't result in loss of the VM and live
data within.

This patch introduces a new function, object_property_try_add_child()
which takes an error handle and turn object_property_try_add() into
a non-static one.

Now the call path becomes:

user_creatable_add_type -> object_property_try_add_child ->
object_property_try_add

and the error is returned gracefully to the QMP client.

(QEMU) object-add qom-type=memory-backend-ram id=mem2  props.size=4294967296
{"return": {}}
(QEMU) object-add qom-type=memory-backend-ram id=mem2  props.size=4294967296
{"error": {"class": "GenericError", "desc": "attempt to add duplicate property
'mem2' to object (type 'container')"}}

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Fixes: d2623129a7de ("qom: Drop parameter @errp of object_property_add() & 
friends")
Reviewed-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>
Message-Id: <20200629193424.30280-2-eric.auger@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9fc719b869264824db0be615122754909facc929
      
https://github.com/qemu/qemu/commit/9fc719b869264824db0be615122754909facc929
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M tests/qtest/qmp-cmd-test.c

  Log Message:
  -----------
  tests/qmp-cmd-test: Add qmp/object-add-duplicate-id

This new test checks that attempting to create an object
with an existing ID gracefully fails.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>

Message-Id: <20200629193424.30280-3-eric.auger@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5b88849e7b92945c4d4a6bc1a84ea463242c9fb3
      
https://github.com/qemu/qemu/commit/5b88849e7b92945c4d4a6bc1a84ea463242c9fb3
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M tests/qtest/qmp-cmd-test.c

  Log Message:
  -----------
  tests/qmp-cmd-test: Add qmp/object-add-failure-modes

Merge the existing object-add test cases into a single test
functions and cover more failure cases.

Signed-off-by: Eric Auger <eric.auger@redhat.com>

Message-Id: <20200629193424.30280-4-eric.auger@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9e7871b1fca452e6ca125ff74baa3332e99ad5fe
      
https://github.com/qemu/qemu/commit/9e7871b1fca452e6ca125ff74baa3332e99ad5fe
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M hw/core/null-machine.c

  Log Message:
  -----------
  hw/core/null-machine: Do not initialize unused chardev backends

The MachineClass uses an inverted logic (inherited from the
PC machines [*]) to create the chardev backends for the default
devices (see commits 998bbd74b9d..aa40fc9c964 and ac33f8fad14).

As the none-machine doesn't have any hardware device, it is
pointless to initialize chardev backends. Fix by setting the
'no_defaults' bits in its MachineClass.

Suggested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20200624105611.1049-1-f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3ddc0eca2229846bfecc3485648a6cb85a466dc7
      
https://github.com/qemu/qemu/commit/3ddc0eca2229846bfecc3485648a6cb85a466dc7
  Author: Joseph Myers <joseph@codesourcery.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/fpu_helper.c

  Log Message:
  -----------
  target/i386: set SSE FTZ in correct floating-point state

The code to set floating-point state when MXCSR changes calls
set_flush_to_zero on &env->fp_status, so affecting the x87
floating-point state rather than the SSE state.  Fix to call it for
&env->sse_status instead.

Signed-off-by: Joseph Myers <joseph@codesourcery.com>
Message-Id: <alpine.DEB.2.21.2006252357170.3832@digraph.polyomino.org.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 418b0f93d12a1589d5031405de857844f32e9ccc
      
https://github.com/qemu/qemu/commit/418b0f93d12a1589d5031405de857844f32e9ccc
  Author: Joseph Myers <joseph@codesourcery.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/Makefile.objs
    M target/i386/cpu.h
    M target/i386/fpu_helper.c
    M target/i386/gdbstub.c
    M target/i386/helper.c
    M target/i386/helper.h
    M target/i386/ops_sse.h
    A target/i386/tcg-stub.c
    M target/i386/translate.c
    M tests/tcg/i386/Makefile.target
    A tests/tcg/i386/test-i386-sse-exceptions.c

  Log Message:
  -----------
  target/i386: fix IEEE SSE floating-point exception raising

The SSE instruction implementations all fail to raise the expected
IEEE floating-point exceptions because they do nothing to convert the
exception state from the softfloat machinery into the exception flags
in MXCSR.

Fix this by adding such conversions.  Unlike for x87, emulated SSE
floating-point operations might be optimized using hardware floating
point on the host, and so a different approach is taken that is
compatible with such optimizations.  The required invariant is that
all exceptions set in env->sse_status (other than "denormal operand",
for which the SSE semantics are different from those in the softfloat
code) are ones that are set in the MXCSR; the emulated MXCSR is
updated lazily when code reads MXCSR, while when code sets MXCSR, the
exceptions in env->sse_status are set accordingly.

A few instructions do not raise all the exceptions that would be
raised by the softfloat code, and those instructions are made to save
and restore the softfloat exception state accordingly.

Nothing is done about "denormal operand"; setting that (only for the
case when input denormals are *not* flushed to zero, the opposite of
the logic in the softfloat code for such an exception) will require
custom code for relevant instructions, or else architecture-specific
conditionals in the softfloat code for when to set such an exception
together with custom code for various SSE conversion and rounding
instructions that do not set that exception.

Nothing is done about trapping exceptions (for which there is minimal
and largely broken support in QEMU's emulation in the x87 case and no
support at all in the SSE case).

Signed-off-by: Joseph Myers <joseph@codesourcery.com>
Message-Id: <alpine.DEB.2.21.2006252358000.3832@digraph.polyomino.org.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b16c0e20c74218f2d69710cedad11da7dd4d2190
      
https://github.com/qemu/qemu/commit/b16c0e20c74218f2d69710cedad11da7dd4d2190
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm.c
    M target/i386/machine.c

  Log Message:
  -----------
  KVM: add support for AMD nested live migration

Support for nested guest live migration is part of Linux 5.8, add the
corresponding code to QEMU.  The migration format consists of a few
flags, is an opaque 4k blob.

The blob is in VMCB format (the control area represents the L1 VMCB
control fields, the save area represents the pre-vmentry state; KVM does
not use the host save area since the AMD manual allows that) but QEMU
does not really care about that.  However, the flags need to be
copied to hflags/hflags2 and back.

In addition, support for retrieving and setting the AMD nested virtualization
states allows the L1 guest to be reset while running a nested guest, but
a small bug in CPU reset needs to be fixed for that to work.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6553aa1d1166b4257f1294b898fc9f09e7276639
      
https://github.com/qemu/qemu/commit/6553aa1d1166b4257f1294b898fc9f09e7276639
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M include/qemu/osdep.h

  Log Message:
  -----------
  coverity: provide Coverity-friendly MIN_CONST and MAX_CONST

Coverity has problems seeing through __builtin_choose_expr, which
result in it abandoning analysis of later functions that utilize a
definition that used MIN_CONST or MAX_CONST, such as in qemu-file.c:

 50    DECLARE_BITMAP(may_free, MAX_IOV_SIZE);

CID 1429992 (#1 of 1): Unrecoverable parse warning (PARSE_ERROR)1.
expr_not_constant: expression must have a constant value

As has been done in the past (see 07d66672), it's okay to dumb things
down when compiling for static analyzers.  (Of course, now the
syntax-checker has a false positive on our reference to
__COVERITY__...)

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Fixes: CID 1429992, CID 1429995, CID 1429997, CID 1429999
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200629162804.1096180-1-eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b8d864f64341eb5825aed28aa9a6d1c98316b3e9
      
https://github.com/qemu/qemu/commit/b8d864f64341eb5825aed28aa9a6d1c98316b3e9
  Author: Roman Bolshakov <r.bolshakov@yadro.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/hvf/vmx.h

  Log Message:
  -----------
  i386: hvf: Set env->eip in macvm_set_rip()

cpu_synchronize_state() is currently no-op for hvf but BIOS will hang in
vAPIC option ROM when cpu_synchronize_state() is wired to
hvf_cpu_synchronize_state().

cpu_synchronize_state() state is called from vapic_write() during option
ROM initialization. It sets dirty flag on the cpu. macvm_set_rip() is
then invoked to advance IP after the I/O write to vAPIC port.

macvm_set_rip() only modifies VMCS, it doesn't change env->eip.
Therefore on the next iteration of vCPU loop, vcpu_dirty flag is checked
and hvf_put_registers() overwrites correct RIP in VMCS with the value of
env->eip that points to the I/O write instruction. Execution of the CPU
gets stuck on the instruction.

The issue can be avoided if eip doesn't contain stale value when dirty
flag is set on cpu.

Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200630102824.77604-2-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4bb19f98d34302d627a1267b608de4df6d0988f9
      
https://github.com/qemu/qemu/commit/4bb19f98d34302d627a1267b608de4df6d0988f9
  Author: Roman Bolshakov <r.bolshakov@yadro.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M cpus.c
    M include/sysemu/hw_accel.h

  Log Message:
  -----------
  i386: hvf: Move synchronize functions to sysemu

Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200630102824.77604-3-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5536c98e449fe832c6cb59612baf0f2936fb436d
      
https://github.com/qemu/qemu/commit/5536c98e449fe832c6cb59612baf0f2936fb436d
  Author: Roman Bolshakov <r.bolshakov@yadro.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M include/sysemu/hvf.h
    M include/sysemu/hw_accel.h
    M target/i386/hvf/hvf.c

  Log Message:
  -----------
  i386: hvf: Add hvf_cpu_synchronize_pre_loadvm()

hvf lacks an implementation of cpu_synchronize_pre_loadvm().

Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200630102824.77604-4-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a4e26fa8583a215aa61107a623bfa25afd09a860
      
https://github.com/qemu/qemu/commit/a4e26fa8583a215aa61107a623bfa25afd09a860
  Author: Cameron Esfahani <dirty@apple.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/hvf/vmx.h

  Log Message:
  -----------
  i386: hvf: Make long mode enter and exit clearer

Intel SDM "9.8.5 Initializing IA-32e Mode" and "9.8.5.4 Switching Out of
IA-32e Mode Operation" define activation and deactivation of long mode
only upon a change of CR0.PG but current code invokes exit_long_mode()
unconditionally until LME is cleared.

Signed-off-by: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200630102824.77604-6-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 82695a1b9c696aaea491e932548f9787adb7d78b
      
https://github.com/qemu/qemu/commit/82695a1b9c696aaea491e932548f9787adb7d78b
  Author: Roman Bolshakov <r.bolshakov@yadro.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/hvf/hvf.c
    M target/i386/hvf/vmx.h

  Log Message:
  -----------
  i386: hvf: Move Guest LMA reset to macvm_set_cr0()

The only useful purpose of hvf_reset_vcpu() is to clear "IA-32e mode
guest" (LMA) VM-Entry control. But it can be moved to macvm_set_cr0()
which is indirectly used by post-init and post-reset to flush emulator
state. That enables clean removal of hvf_reset_vcpu().

LMA is set only if IA32_EFER.LME = 1, according to Intel SDM "9.8.5
Initializing IA-32e Mode" and "9.8.5.4 Switching Out of IA-32e Mode
Operation", otherwise the entry control can be safely cleared.

Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200630102824.77604-7-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5009ef22c6bb21aa741e9e354ccaa97edf56911d
      
https://github.com/qemu/qemu/commit/5009ef22c6bb21aa741e9e354ccaa97edf56911d
  Author: Roman Bolshakov <r.bolshakov@yadro.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M include/sysemu/hvf.h
    M target/i386/cpu.c
    M target/i386/hvf/hvf.c

  Log Message:
  -----------
  i386: hvf: Don't duplicate register reset

hvf_reset_vcpu() duplicates actions performed by x86_cpu_reset(). The
difference is that hvf_reset_vcpu() stores initial values directly to
VMCS while x86_cpu_reset() stores it in CPUX86State and then
cpu_synchronize_all_post_init() or cpu_synchronize_all_post_reset()
flushes CPUX86State into VMCS. That makes hvf_reset_vcpu() a kind of
no-op.

Here's the trace of CPU state modifications during VM start:
  hvf_reset_vcpu (resets VMCS)
  cpu_synchronize_all_post_init (overwrites VMCS fields written by
                                 hvf_reset_vcpu())
  cpu_synchronize_all_states
  hvf_reset_vcpu (resets VMCS)
  cpu_synchronize_all_post_reset (overwrites VMCS fields written by
                                  hvf_reset_vcpu())

General purpose registers, system registers, segment descriptors, flags
and IP are set by hvf_put_segments() in post-init and post-reset,
therefore it's safe to remove them from hvf_reset_vcpu().

PDPTE initialization can be dropped because Intel SDM (26.3.1.6 Checks
on Guest Page-Directory-Pointer-Table Entries) doesn't require PDPTE to
be clear unless PAE is used: "A VM entry to a guest that does not use
PAE paging does not check the validity of any PDPTEs."
And if PAE is used, PDPTE's are initialized from CR3 in macvm_set_cr0().

Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200630102824.77604-8-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: eae009de78b62e67ec887b4934cf62f4f5fb33c8
      
https://github.com/qemu/qemu/commit/eae009de78b62e67ec887b4934cf62f4f5fb33c8
  Author: Roman Bolshakov <r.bolshakov@yadro.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/hvf/hvf.c

  Log Message:
  -----------
  i386: hvf: Clean up synchronize functions

Make them more concise and consitent with the rest of the code in the
file and drop non-relevant TODO.

Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200630102824.77604-9-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: de6b528be41fabfdde32982ba62f2cddc7e10330
      
https://github.com/qemu/qemu/commit/de6b528be41fabfdde32982ba62f2cddc7e10330
  Author: Roman Bolshakov <r.bolshakov@yadro.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add Cameron as HVF co-maintainer

Similar patch was sent a while ago but got lost.
While at it, add a status wiki page.

Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200624225850.16982-9-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a6bb42f2239b85fccf93734bfb73bb8b2ddc8cce
      
https://github.com/qemu/qemu/commit/a6bb42f2239b85fccf93734bfb73bb8b2ddc8cce
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Fix KVM path expansion glob

The KVM files has been moved from target-ARCH to the target/ARCH/
folder in commit fcf5ef2a. Fix the pathname expansion.

Fixes: fcf5ef2a ("Move target-* CPU file into a target/ folder")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 79ac391592c4853bc4d83bba6e513324ea56e44a
      
https://github.com/qemu/qemu/commit/79ac391592c4853bc4d83bba6e513324ea56e44a
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add an 'overall' entry for accelerators

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f7091f5f052a6173a563319cb8c6c48f861276d0
      
https://github.com/qemu/qemu/commit/f7091f5f052a6173a563319cb8c6c48f861276d0
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Cover the HAX accelerator stub

Cover accel/stubs/hax-stub.c in the HAXM section.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f4bda37d3d580d5d28a07f7290f23be005322c92
      
https://github.com/qemu/qemu/commit/f4bda37d3d580d5d28a07f7290f23be005322c92
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: Remove dangerous EOL trailing backslash

One might get caught trying to understand unexpected Makefile
behavior. Trailing backslash can help to split very long lines,
but are rather dangerous when nothing follow. Preserve other
developers debugging time by removing this one.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1e0ef873d9b271d373ce6d3aac6c99552b0d4a00
      
https://github.com/qemu/qemu/commit/1e0ef873d9b271d373ce6d3aac6c99552b0d4a00
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: Write MINIKCONF variables as one entry per line

Having one entry per line helps reviews/refactors. As we are
going to modify the MINIKCONF variables, split them now to
ease further review.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 06e89e13be25ef48196cb8ff40e9aeb3bf72f86b
      
https://github.com/qemu/qemu/commit/06e89e13be25ef48196cb8ff40e9aeb3bf72f86b
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M Kconfig.host
    M Makefile
    A accel/Kconfig

  Log Message:
  -----------
  accel/Kconfig: Extract accel selectors into their own config

Move the accel selectors from the global Kconfig.host to their
own Kconfig file.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 96df0fdd7f14107c1fb223742340c76669bcc9eb
      
https://github.com/qemu/qemu/commit/96df0fdd7f14107c1fb223742340c76669bcc9eb
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M Makefile
    M accel/Kconfig

  Log Message:
  -----------
  accel/Kconfig: Add the TCG selector

Expose the CONFIG_TCG selector to let minikconf.py uses it.

When building with --disable-tcg build, this helps to deselect
devices that are TCG-dependent.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bb321b299e6879cd602bf6509eeecd62d3098d2a
      
https://github.com/qemu/qemu/commit/bb321b299e6879cd602bf6509eeecd62d3098d2a
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M accel/stubs/tcg-stub.c

  Log Message:
  -----------
  accel/tcg: Add stub for probe_access()

The TCG helpers were added in b92e5a22ec3 in softmmu_template.h.
probe_write() was added in there in 3b4afc9e75a to be moved out
to accel/tcg/cputlb.c in 3b08f0a9254, and was later refactored
as probe_access() in c25c283df0f.
Since it is a TCG specific helper, add a stub to avoid failures
when building without TCG, such:

  target/arm/helper.o: In function `probe_read':
  include/exec/exec-all.h:362: undefined reference to `probe_access'

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: aaa1b70a0bb1fc1357c6c6828bcc8ff702e7eac4
      
https://github.com/qemu/qemu/commit/aaa1b70a0bb1fc1357c6c6828bcc8ff702e7eac4
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    A Kconfig
    M Makefile

  Log Message:
  -----------
  Makefile: simplify MINIKCONF rules

There is no reason to write MINIKCONF_DEPS manually, since minikconf.py
emits a dependency file, and also no reason to list multiple Kconfig
files on the command line since they can be included from a master file
in the top-level source directory.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6c9cce1ff348709869262e4bd15ad4fedf513f17
      
https://github.com/qemu/qemu/commit/6c9cce1ff348709869262e4bd15ad4fedf513f17
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: remove gen_io_end

Force the end of a translation block after an I/O instruction in
icount mode.  For consistency, all CF_USE_ICOUNT code is kept in
disas_insn instead of having it in gen_ins and gen_outs.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c0c8445255b2b5b440c355431c8b01b7b7b7c8cf
      
https://github.com/qemu/qemu/commit/c0c8445255b2b5b440c355431c8b01b7b7b7c8cf
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: implement undocumented "smsw r32" behavior

In 32-bit mode, the higher 16 bits of the destination
register are undefined.  In practice CR0[31:0] is stored,
just like in 64-bit mode, so just remove the "if" that
currently differentiates the behavior.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reported-by: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e1e43813e7908b063938a3d01f172f88f6190c80
      
https://github.com/qemu/qemu/commit/e1e43813e7908b063938a3d01f172f88f6190c80
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/kvm.c
    M target/i386/kvm_i386.h

  Log Message:
  -----------
  KVM: x86: believe what KVM says about WAITPKG

Currently, QEMU is overriding KVM_GET_SUPPORTED_CPUID's answer for
the WAITPKG bit depending on the "-overcommit cpu-pm" setting.  This is a
bad idea because it does not even check if the host supports it, but it
can be done in x86_cpu_realizefn just like we do for the MONITOR bit.

This patch moves it there, while making it conditional on host
support for the related UMWAIT MSR.

Cc: qemu-stable@nongnu.org
Reported-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e4f6278557148151e77260b872b41bcd7ceb4737
      
https://github.com/qemu/qemu/commit/e4f6278557148151e77260b872b41bcd7ceb4737
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/monitor.c
    M target/i386/sev-stub.c
    M target/i386/sev.c
    M target/i386/sev_i386.h

  Log Message:
  -----------
  target/i386: sev: provide proper error reporting for query-sev-capabilities

The query-sev-capabilities was reporting errors through error_report;
change it to use Error** so that the cause of the failure is clearer.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1b38750c40281dd0d068f8536b2ea95d7b9bd585
      
https://github.com/qemu/qemu/commit/1b38750c40281dd0d068f8536b2ea95d7b9bd585
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/sev.c

  Log Message:
  -----------
  target/i386: sev: fail query-sev-capabilities if QEMU cannot use SEV

In some cases, such as if the kvm-amd "sev" module parameter is set
to 0, SEV will be unavailable but query-sev-capabilities will still
return all the information.  This tricks libvirt into erroneously
reporting that SEV is available.  Check the actual usability of the
feature and return the appropriate error if QEMU cannot use KVM
or KVM cannot use SEV.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: dd3b00202a5ff4153a0088917ac69d2e6cd2bc1f
      
https://github.com/qemu/qemu/commit/dd3b00202a5ff4153a0088917ac69d2e6cd2bc1f
  Author: Xie Yongji <xieyongji@bytedance.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: handle check condition status in retry loop

The handling of check condition was incorrect because
we would only do it after retries exceed maximum.

Fixes: 8c460269aa ("iscsi: base all handling of check condition on 
scsi_sense_to_errno")
Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Message-Id: <20200701105444.3226-1-xieyongji@bytedance.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c58daf76a6d9aee7502d0fcd5f3e7ec9b9861646
      
https://github.com/qemu/qemu/commit/c58daf76a6d9aee7502d0fcd5f3e7ec9b9861646
  Author: Xie Yongji <xieyongji@bytedance.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: return -EIO when sense fields are meaningless

When an I/O request failed, now we only return correct
value on scsi check condition. We should also have a
default errno such as -EIO in other case.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Message-Id: <20200701105444.3226-2-xieyongji@bytedance.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 143a768c57b8d77b348f727c55f073eb40360955
      
https://github.com/qemu/qemu/commit/143a768c57b8d77b348f727c55f073eb40360955
  Author: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: Change occurences of 'kernel' to 'qemu' in user messages

It is odd that we inform user that, for example, his current working
directory is not kernel root, when, in face, we mean qemu root.

Replace that and few other similar odd user messages.

Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Message-Id: <20200620133207.26849-3-aleksandar.qemu.devel@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cbe0dad1906d29d9ea83169b672e9e709c9fc1f8
      
https://github.com/qemu/qemu/commit/cbe0dad1906d29d9ea83169b672e9e709c9fc1f8
  Author: Luwei Kang <luwei.kang@intel.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  target/i386: Correct the warning message of Intel PT

The CPUID level need to be set to 0x14 manually on old
machine-type if Intel PT is enabled in guest. E.g. the
CPUID[0].EAX(level)=7 and CPUID[7].EBX[25](intel-pt)=1 when the
Qemu with "-machine pc-i440fx-3.1 -cpu qemu64,+intel-pt" parameter.

This patch corrects the warning message of the previous
submission(ddc2fc9).

Signed-off-by: Luwei Kang <luwei.kang@intel.com>
Message-Id: <1593499113-4768-1-git-send-email-luwei.kang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 421a75e283f6bad2ac64119ecf6a1dfd3ebfda61
      
https://github.com/qemu/qemu/commit/421a75e283f6bad2ac64119ecf6a1dfd3ebfda61
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M cpus-common.c
    M exec.c

  Log Message:
  -----------
  cpus: Move CPU code from exec.c to cpus-common.c

This code was introduced with SMP support in commit 6a00d60127,
later commit 267f685b8b moved CPU list management to common code
but forgot this code. Move now and simplify ifdef'ry.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200702104017.14057-1-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0b33521ea16463d7f942ddb2b354fa029c96231f
      
https://github.com/qemu/qemu/commit/0b33521ea16463d7f942ddb2b354fa029c96231f
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M hw/i386/pc_sysfw.c

  Log Message:
  -----------
  pc: fix leak in pc_system_flash_cleanup_unused

tries to fix a leak detected when building with --enable-sanitizers:
./i386-softmmu/qemu-system-i386
Upon exit:
==13576==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1216 byte(s) in 1 object(s) allocated from:
    #0 0x7f9d2ed5c628 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5)
    #1 0x7f9d2e963500 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.)
    #2 0x55fa646d25cc in object_new_with_type /tmp/qemu/qom/object.c:686
    #3 0x55fa63dbaa88 in qdev_new /tmp/qemu/hw/core/qdev.c:140
    #4 0x55fa638a533f in pc_pflash_create /tmp/qemu/hw/i386/pc_sysfw.c:88
    #5 0x55fa638a54c4 in pc_system_flash_create /tmp/qemu/hw/i386/pc_sysfw.c:106
    #6 0x55fa646caa1d in object_init_with_type /tmp/qemu/qom/object.c:369
    #7 0x55fa646d20b5 in object_initialize_with_type /tmp/qemu/qom/object.c:511
    #8 0x55fa646d2606 in object_new_with_type /tmp/qemu/qom/object.c:687
    #9 0x55fa639431e9 in qemu_init /tmp/qemu/softmmu/vl.c:3878
    #10 0x55fa6335c1b8 in main /tmp/qemu/softmmu/main.c:48
    #11 0x7f9d2cf06e0a in __libc_start_main ../csu/libc-start.c:308
    #12 0x55fa6335f8e9 in _start (/tmp/qemu/build/i386-softmmu/qemu-system-i386)

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200701145231.19531-1-alxndr@bu.edu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c7f419f5841a840f3b90e839ef014b94131e5df8
      
https://github.com/qemu/qemu/commit/c7f419f5841a840f3b90e839ef014b94131e5df8
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M MAINTAINERS
    M Makefile.target
    R arch_init.c
    R balloon.c
    R cpus.c
    R ioport.c
    R memory.c
    R memory_mapping.c
    R qtest.c
    M softmmu/Makefile.objs
    A softmmu/arch_init.c
    A softmmu/balloon.c
    A softmmu/cpus.c
    A softmmu/ioport.c
    A softmmu/memory.c
    A softmmu/memory_mapping.c
    A softmmu/qtest.c

  Log Message:
  -----------
  softmmu: move softmmu only files from root

move arch_init, balloon, cpus, ioport, memory, memory_mapping, qtest.

They are all specific to CONFIG_SOFTMMU.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20200629093504.3228-2-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b0c3cf9407e642d74d1bbd18f8846872152a92df
      
https://github.com/qemu/qemu/commit/b0c3cf9407e642d74d1bbd18f8846872152a92df
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M MAINTAINERS
    M include/hw/core/cpu.h
    M include/qemu/main-loop.h
    A include/sysemu/cpu-throttle.h
    M migration/migration.c
    M migration/ram.c
    M softmmu/Makefile.objs
    A softmmu/cpu-throttle.c
    M softmmu/cpus.c
    M ui/cocoa.m

  Log Message:
  -----------
  cpu-throttle: new module, extracted from cpus.c

move the vcpu throttling functionality into its own module.

This functionality is not specific to any accelerator,
and it is used currently by migration to slow down guests to try to
have migrations converge, and by the cocoa MacOS UI to throttle speed.

cpu-throttle contains the controls to adjust and inspect throttle
settings, start (set) and stop vcpu throttling, and the throttling
function itself that is run periodically on vcpus to make them take a nap.

Execution of the throttling function on all vcpus is triggered by a timer,
registered at module initialization.

No functionality change.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20200629093504.3228-3-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2f7057ac97579f940139ac85d8b757d47ef0efab
      
https://github.com/qemu/qemu/commit/2f7057ac97579f940139ac85d8b757d47ef0efab
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  softmmu/vl: Remove the check for colons in -accel parameters

The new -accel option does not accept colons in the parameters anymore
(since it does not convert the parameters to -machine accel=... parameters
anymore). Thus we can now remove the check for colons in -accel:

$ qemu-system-x86_64 -accel kvm:tcg
qemu-system-x86_64: -accel kvm:tcg: invalid accelerator kvm:tcg

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20200618074001.13642-1-thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5dd13f2a5b4d7335b2b0924e6fb28b63b34e70fe
      
https://github.com/qemu/qemu/commit/5dd13f2a5b4d7335b2b0924e6fb28b63b34e70fe
  Author: Cathy Zhang <cathy.zhang@intel.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h

  Log Message:
  -----------
  target/i386: Add SERIALIZE cpu feature

The availability of the SERIALIZATION instruction is indicated
by the presence of the CPUID feature flag SERIALIZE, which is
defined as CPUID.(EAX=7,ECX=0):ECX[bit 14].

The release spec link is as follows:
https://software.intel.com/content/dam/develop/public/us/en/documents/\
architecture-instruction-set-extensions-programming-reference.pdf

The associated kvm patch link is as follows:
https://lore.kernel.org/patchwork/patch/1268025/

Signed-off-by: Cathy Zhang <cathy.zhang@intel.com>
Message-Id: <1593991036-12183-2-git-send-email-cathy.zhang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b3c7344e338b04be9feaf7ac6693c2f7fc951b89
      
https://github.com/qemu/qemu/commit/b3c7344e338b04be9feaf7ac6693c2f7fc951b89
  Author: Cathy Zhang <cathy.zhang@intel.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h

  Log Message:
  -----------
  target/i386: Enable TSX Suspend Load Address Tracking feature

This instruction aims to give a way to choose which memory accesses
do not need to be tracked in the TSX read set, which is defined as
CPUID.(EAX=7,ECX=0):EDX[bit 16].

The release spec link is as follows:
https://software.intel.com/content/dam/develop/public/us/en/documents/\
architecture-instruction-set-extensions-programming-reference.pdf

The associated kvm patch link is as follows:
https://lore.kernel.org/patchwork/patch/1268026/

Signed-off-by: Cathy Zhang <cathy.zhang@intel.com>
Message-Id: <1593991036-12183-3-git-send-email-cathy.zhang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 86f13ef31806e5f829ee3d9ed82694f44dd1c02d
      
https://github.com/qemu/qemu/commit/86f13ef31806e5f829ee3d9ed82694f44dd1c02d
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M scripts/tap-driver.pl

  Log Message:
  -----------
  scripts: improve message when TAP based tests fail

If one of the qtests fails, the TAP driver prints out a message like:

  ERROR - too few tests run (expected 3, got 1)

which fails to tell you which test program failed. This is a critical
ommission when many tests are running in parallel as their output is
interleaved. The improved message is:

  ERROR endianness-test - too few tests run (expected 3, got 1)

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200706125054.2619012-1-berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6e083c0de41a606f304168fce75ea77f3c031f98
      
https://github.com/qemu/qemu/commit/6e083c0de41a606f304168fce75ea77f3c031f98
  Author: Jan Kiszka <jan.kiszka@siemens.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M hw/intc/apic.c
    M hw/intc/apic_common.c
    M include/hw/i386/apic_internal.h
    M target/i386/helper.c

  Log Message:
  -----------
  apic: Report current_count via 'info lapic'

This is helpful when debugging stuck guest timers.

As we need apic_get_current_count for that, and it is really not
emulation specific, move it to apic_common.c and export it. Fix its
style at this chance as well.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <e00e2896-ca5b-a929-de7a-8e5762f0c1c2@siemens.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 56908dc5041aa424fd1495b6c6beb78c539d93e1
      
https://github.com/qemu/qemu/commit/56908dc5041aa424fd1495b6c6beb78c539d93e1
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M linux-headers/asm-arm/unistd-common.h
    M linux-headers/asm-x86/kvm.h

  Log Message:
  -----------
  linux-headers: update again to 5.8

5.8-rc1 inadvertently broke userspace ABI compatibility.  Merge
again with latest kvm/master to undo that.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2033cc6efa98b831d7839e367aa7d5aa74d0750f
      
https://github.com/qemu/qemu/commit/2033cc6efa98b831d7839e367aa7d5aa74d0750f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-07-11 (Sat, 11 Jul 2020)

  Changed paths:
    A Kconfig
    M Kconfig.host
    M MAINTAINERS
    M Makefile
    M Makefile.target
    A accel/Kconfig
    M accel/stubs/tcg-stub.c
    R arch_init.c
    R balloon.c
    M block/iscsi.c
    M cpus-common.c
    R cpus.c
    M exec.c
    M hw/core/null-machine.c
    M hw/i386/pc_sysfw.c
    M hw/intc/apic.c
    M hw/intc/apic_common.c
    M include/hw/core/cpu.h
    M include/hw/i386/apic_internal.h
    M include/qemu/error-report.h
    M include/qemu/main-loop.h
    M include/qemu/osdep.h
    M include/qom/object.h
    A include/sysemu/cpu-throttle.h
    M include/sysemu/hvf.h
    M include/sysemu/hw_accel.h
    R ioport.c
    M linux-headers/asm-arm/unistd-common.h
    M linux-headers/asm-x86/kvm.h
    R memory.c
    R memory_mapping.c
    M migration/migration.c
    M migration/ram.c
    M qemu-options.hx
    M qom/object.c
    M qom/object_interfaces.c
    R qtest.c
    M scripts/checkpatch.pl
    M scripts/tap-driver.pl
    M softmmu/Makefile.objs
    A softmmu/arch_init.c
    A softmmu/balloon.c
    A softmmu/cpu-throttle.c
    A softmmu/cpus.c
    A softmmu/ioport.c
    A softmmu/memory.c
    A softmmu/memory_mapping.c
    A softmmu/qtest.c
    M softmmu/vl.c
    M target/i386/Makefile.objs
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/excp_helper.c
    M target/i386/fpu_helper.c
    M target/i386/gdbstub.c
    M target/i386/helper.c
    M target/i386/helper.h
    M target/i386/hvf/hvf.c
    M target/i386/hvf/vmx.h
    M target/i386/kvm.c
    M target/i386/kvm_i386.h
    M target/i386/machine.c
    M target/i386/monitor.c
    M target/i386/ops_sse.h
    M target/i386/sev-stub.c
    M target/i386/sev.c
    M target/i386/sev_i386.h
    M target/i386/svm.h
    M target/i386/svm_helper.c
    A target/i386/tcg-stub.c
    M target/i386/translate.c
    M tests/Makefile.include
    M tests/qtest/qmp-cmd-test.c
    M tests/tcg/i386/Makefile.target
    A tests/tcg/i386/test-i386-sse-exceptions.c
    M ui/cocoa.m
    M util/qemu-error.c

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

* Make checkpatch say 'qemu' instead of 'kernel' (Aleksandar)
* Fix PSE guests with emulated NPT (Alexander B. #1)
* Fix leak (Alexander B. #2)
* HVF fixes (Roman, Cameron)
* New Sapphire Rapids CPUID bits (Cathy)
* cpus.c and softmmu/ cleanups (Claudio)
* TAP driver tweaks (Daniel, Havard)
* object-add bugfix and testcases (Eric A.)
* Fix Coverity MIN_CONST and MAX_CONST (Eric B.)
* "info lapic" improvement (Jan)
* SSE fixes (Joseph)
* "-msg guest-name" option (Mario)
* support for AMD nested live migration (myself)
* Small i386 TCG fixes (myself)
* improved error reporting for Xen (myself)
* fix "-cpu host -overcommit cpu-pm=on" (myself)
* Add accel/Kconfig (Philippe)
* iscsi sense handling fixes (Yongji)
* Misc bugfixes

# gpg: Signature made Sat 11 Jul 2020 00:33:41 BST
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# 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: (47 commits)
  linux-headers: update again to 5.8
  apic: Report current_count via 'info lapic'
  scripts: improve message when TAP based tests fail
  target/i386: Enable TSX Suspend Load Address Tracking feature
  target/i386: Add SERIALIZE cpu feature
  softmmu/vl: Remove the check for colons in -accel parameters
  cpu-throttle: new module, extracted from cpus.c
  softmmu: move softmmu only files from root
  pc: fix leak in pc_system_flash_cleanup_unused
  cpus: Move CPU code from exec.c to cpus-common.c
  target/i386: Correct the warning message of Intel PT
  checkpatch: Change occurences of 'kernel' to 'qemu' in user messages
  iscsi: return -EIO when sense fields are meaningless
  iscsi: handle check condition status in retry loop
  target/i386: sev: fail query-sev-capabilities if QEMU cannot use SEV
  target/i386: sev: provide proper error reporting for query-sev-capabilities
  KVM: x86: believe what KVM says about WAITPKG
  target/i386: implement undocumented "smsw r32" behavior
  target/i386: remove gen_io_end
  Makefile: simplify MINIKCONF rules
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/d4a6bab1ecf2...2033cc6efa98



reply via email to

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