qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 996e7e: s390x/kvm: Get rid of legacy_s390_all


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 996e7e: s390x/kvm: Get rid of legacy_s390_alloc()
Date: Wed, 17 Mar 2021 08:07:07 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 996e7e4b72f48c2f878e269bb9252d97129b6f73
      
https://github.com/qemu/qemu/commit/996e7e4b72f48c2f878e269bb9252d97129b6f73
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-03-15 (Mon, 15 Mar 2021)

  Changed paths:
    M target/s390x/kvm.c

  Log Message:
  -----------
  s390x/kvm: Get rid of legacy_s390_alloc()

legacy_s390_alloc() was required for dealing with the absence of the ESOP
feature -- on old HW (< gen 10) and old z/VM versions (< 6.3).

As z/VM v6.2 (and even v6.3) is no longer supported since 2017 [1]
and we don't expect to have real users on such old hardware, let's drop
legacy_s390_alloc().

Still check+report an error just in case someone still runs on
such old z/VM environments, or someone runs under weird nested KVM
setups (where we can manually disable ESOP via the CPU model).

No need to check for KVM_CAP_GMAP - that should always be around on
kernels that also have KVM_CAP_DEVICE_CTRL (>= v3.15).

[1] https://www.ibm.com/support/lifecycle/search?q=z%2FVM

Suggested-by: Cornelia Huck <cohuck@redhat.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Halil Pasic <pasic@linux.ibm.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210303130916.22553-2-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 25459eb762ebf3e1120f5d310eddf18066e902e5
      
https://github.com/qemu/qemu/commit/25459eb762ebf3e1120f5d310eddf18066e902e5
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-03-15 (Mon, 15 Mar 2021)

  Changed paths:
    M include/sysemu/kvm.h
    M softmmu/physmem.c

  Log Message:
  -----------
  exec: Get rid of phys_mem_set_alloc()

As the last user is gone, we can get rid of phys_mem_set_alloc() and
simplify.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Halil Pasic <pasic@linux.ibm.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210303130916.22553-3-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: d66a52b50f089d69a70beb2e507d3035ffeaf016
      
https://github.com/qemu/qemu/commit/d66a52b50f089d69a70beb2e507d3035ffeaf016
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2021-03-15 (Mon, 15 Mar 2021)

  Changed paths:
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  s390x/cpu_model: use official name for 8562

The single-frame z15 is called "z15 T02" (and the multi-frame z15
"z15 T01").

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <20210311132746.1777754-1-cohuck@redhat.com>


  Commit: e56552cf0771a7f60ae4c1bc186d43a585022849
      
https://github.com/qemu/qemu/commit/e56552cf0771a7f60ae4c1bc186d43a585022849
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-03-15 (Mon, 15 Mar 2021)

  Changed paths:
    M target/s390x/cpu.h
    M target/s390x/excp_helper.c
    M target/s390x/mem_helper.c

  Log Message:
  -----------
  target/s390x: Implement the MVPG condition-code-option bit

If the CCO bit is set, MVPG should not generate an exception but
report page translation faults via a CC code.

Create a new helper, access_prepare_nf, which can use probe_access_flags
in non-faulting mode, and then handle watchpoints.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
[thuth: Added logic to still inject protection exceptions]
Signed-off-by: Thomas Huth <thuth@redhat.com>
[david: Look at env->tlb_fill_exc to determine if there was an exception]
Signed-off-by: David Hildenbrand <david@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210315085449.34676-2-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 1a3c443c43e81e32a05d6995039e0f356b8f60cb
      
https://github.com/qemu/qemu/commit/1a3c443c43e81e32a05d6995039e0f356b8f60cb
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-03-15 (Mon, 15 Mar 2021)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/insn-data.def
    M target/s390x/mem_helper.c
    M target/s390x/translate.c

  Log Message:
  -----------
  target/s390x: Store r1/r2 for page-translation exceptions during MVPG

The PoP states:

    When EDAT-1 does not apply, and a program interruption due to a
    page-translation exception is recognized by the MOVE PAGE
    instruction, the contents of the R1 field of the instruction are
    stored in bit positions 0-3 of location 162, and the contents of
    the R2 field are stored in bit positions 4-7.

    If [...] an ASCE-type, region-first-translation,
    region-second-translation, region-third-translation, or
    segment-translation exception was recognized, the contents of
    location 162 are unpredictable.

So we have to write r1/r2 into the lowcore on page-translation
exceptions. Simply handle all exceptions inside our mvpg helper now.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210315085449.34676-3-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 5793f5aafb05dae30e9dcb57d0d1c8f1a9633f6d
      
https://github.com/qemu/qemu/commit/5793f5aafb05dae30e9dcb57d0d1c8f1a9633f6d
  Author: Miroslav Rezanina <mrezanin@redhat.com>
  Date:   2021-03-15 (Mon, 15 Mar 2021)

  Changed paths:
    M hw/s390x/s390-pci-vfio.c

  Log Message:
  -----------
  s390x/pci: Add missing initialization for g_autofree variables

When declaring g_autofree variable without initialization, compiler
will raise "may be used uninitialized in this function" warning due
to automatic free handling.

This is mentioned in docs/devel/style.rst (quote from section
"Automatic memory deallocation"):

  * Variables declared with g_auto* MUST always be initialized,
    otherwise the cleanup function will use uninitialized stack memory

Add initialization for these declarations to prevent the warning and
comply with coding style.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Fixes: cd7498d07fbb ("s390x/pci: Add routine to get the vfio dma available 
count")
Fixes: 1e7552ff5c34 ("s390x/pci: get zPCI function info from host")
Reviewed-by: Thomas Huth <thuth@redhat.com>
Tested-by: Matthew Rosato <mjrosato@linux.ibm.com>
Message-Id: <20210315101352.152888-1-mrezanin@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 569a9481034b43f650dbb82dd7820beb0051508e
      
https://github.com/qemu/qemu/commit/569a9481034b43f650dbb82dd7820beb0051508e
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-03-17 (Wed, 17 Mar 2021)

  Changed paths:
    M hw/s390x/s390-pci-vfio.c
    M include/sysemu/kvm.h
    M softmmu/physmem.c
    M target/s390x/cpu.h
    M target/s390x/cpu_models.c
    M target/s390x/excp_helper.c
    M target/s390x/helper.h
    M target/s390x/insn-data.def
    M target/s390x/kvm.c
    M target/s390x/mem_helper.c
    M target/s390x/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cohuck-gitlab/tags/s390x-20210316' into 
staging

s390x updates:
- get rid of legacy_s390_alloc() and phys_mem_set_alloc()
- tcg: implement the MVPG condition-code-option bit
- fix g_autofree variable handing in the pci vfio code
- use official z15 names in the cpu model definitions

# gpg: Signature made Tue 16 Mar 2021 10:04:21 GMT
# gpg:                using RSA key C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF
# gpg:                issuer "cohuck@redhat.com"
# gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" [unknown]
# gpg:                 aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" [full]
# gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>" [full]
# gpg:                 aka "Cornelia Huck <cohuck@kernel.org>" [unknown]
# gpg:                 aka "Cornelia Huck <cohuck@redhat.com>" [unknown]
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck-gitlab/tags/s390x-20210316:
  s390x/pci: Add missing initialization for g_autofree variables
  target/s390x: Store r1/r2 for page-translation exceptions during MVPG
  target/s390x: Implement the MVPG condition-code-option bit
  s390x/cpu_model: use official name for 8562
  exec: Get rid of phys_mem_set_alloc()
  s390x/kvm: Get rid of legacy_s390_alloc()

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


Compare: https://github.com/qemu/qemu/compare/25a775104328...569a9481034b



reply via email to

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