qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 759a5d: vfio-ccw: forward halt/clear errors


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 759a5d: vfio-ccw: forward halt/clear errors
Date: Tue, 07 Sep 2021 12:23:33 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 759a5d3be0ca447514bc774f97218d3a0a8ed654
      
https://github.com/qemu/qemu/commit/759a5d3be0ca447514bc774f97218d3a0a8ed654
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M hw/s390x/css.c
    M hw/vfio/ccw.c

  Log Message:
  -----------
  vfio-ccw: forward halt/clear errors

hsch and csch basically have two parts: execute the command,
and perform the halt/clear function. For fully emulated
subchannels, it is pretty clear how it will work: check the
subchannel state, and actually 'perform the halt/clear function'
and set cc 0 if everything looks good.

For passthrough subchannels, some of the checking is done
within QEMU, but some has to be done within the kernel. QEMU's
subchannel state may be such that we can perform the async
function, but the kernel may still get a cc != 0 when it is
actually executing the instruction. In that case, we need to
set the condition actually encountered by the kernel; if we
set cc 0 on error, we would actually need to inject an interrupt
as well.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Tested-by: Jared Rossi <jrossi@linux.ibm.com>
Message-Id: <20210705163952.736020-2-cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 89c6722da24761d14db1b19250919c8004758ba5
      
https://github.com/qemu/qemu/commit/89c6722da24761d14db1b19250919c8004758ba5
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M include/hw/s390x/css.h

  Log Message:
  -----------
  css: fix actl handling for unit exceptions

When a subchannel becomes pending with unit exception, start
pending (and for that matter, halt or clear pending) are not
removed in the actl. Device active and subchannel active,
however, are (due to the subchannel becoming status pending
with primary respectively secondary status).

The other conditions in the actl are only cleared when the
guest executes tsch on the subchannel.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Tested-by: Jared Rossi <jrossi@linux.ibm.com>
Message-Id: <20210705163952.736020-3-cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e7f8a3aae271d279edb1c0c318c6d83b0b3924ce
      
https://github.com/qemu/qemu/commit/e7f8a3aae271d279edb1c0c318c6d83b0b3924ce
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/gdbstub/test-signals-s390x.py
    A tests/tcg/s390x/signals-s390x.c

  Log Message:
  -----------
  tests/tcg/s390x: Test SIGILL and SIGSEGV handling

Verify that s390x-specific uc_mcontext.psw.addr is reported correctly
and that signal handling interacts properly with debugging.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: David Hildenbrand <david@redhat.com>
Message-Id: <20210804225146.154513-1-iii@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 6b01606f0e35827fb7b608b9e56e63ed4b88a0a7
      
https://github.com/qemu/qemu/commit/6b01606f0e35827fb7b608b9e56e63ed4b88a0a7
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/tcg/misc_helper.c

  Log Message:
  -----------
  s390x/tcg: fix and optimize SPX (SET PREFIX)

We not only invalidate the translation of the range 0x0-0x2000, we also
invalidate the translation of the new prefix range and the translation
of the old prefix range -- because real2abs would return different
results for all of these ranges when changing the prefix location.

This fixes the kvm-unit-tests "edat" test that just hangs before this
patch because we end up clearing the new prefix area instead of the old
prefix area.

While at it, let's not do anything in case the prefix doesn't change.

Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: qemu-s390x@nongnu.org
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20210805125938.74034-1-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 0dd05d0606c880200d1683364c5eb558898e50de
      
https://github.com/qemu/qemu/commit/0dd05d0606c880200d1683364c5eb558898e50de
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/ioinst.c

  Log Message:
  -----------
  s390x/ioinst: Fix wrong MSCH alignment check on little endian

schib->pmcw.chars is 32bit, not 16bit. This fixes the kvm-unit-tests
"css" test, which fails with:

  FAIL: Channel Subsystem: measurement block format1: Unaligned MB origin:
  Program interrupt: expected(21) == received(0)

Because we end up not injecting an operand program exception.

Fixes: a54b8ac340c2 ("css: SCHIB measurement block origin must be aligned")
Cc: Halil Pasic <pasic@linux.ibm.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Pierre Morel <pmorel@linux.ibm.com>
Cc: qemu-s390x@nongnu.org
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Message-Id: <20210805143753.86520-1-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 634a0b51cb25800ebc585862121f764d02de7a28
      
https://github.com/qemu/qemu/commit/634a0b51cb25800ebc585862121f764d02de7a28
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  s390x/tcg: wrap address for RRBE

Let's wrap the address just like for SSKE and ISKE.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-2-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: fe00c705fec7bf20f5832fd6d8245fd554097cfc
      
https://github.com/qemu/qemu/commit/fe00c705fec7bf20f5832fd6d8245fd554097cfc
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  s390x/tcg: fix ignoring bit 63 when setting the storage key in SSKE

Right now we could set an 8-bit storage key via SSKE and retrieve it
again via ISKE, which is against the architecture description:

SSKE:
"
The new seven-bit storage-key value, or selected bits
thereof, is obtained from bit positions 56-62 of gen-
eral register R 1 . The contents of bit positions 0-55
and 63 of the register are ignored.
"

ISKE:
"
The seven-bit storage key is inserted in bit positions
56-62 of general register R 1 , and bit 63 is set to zero.
"

Let's properly ignore bit 63 to create the correct seven-bit storage key.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-3-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 06d8a10a70b7ef14ebf88b874858f73f2dee1109
      
https://github.com/qemu/qemu/commit/06d8a10a70b7ef14ebf88b874858f73f2dee1109
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  s390x/tcg: convert real to absolute address for RRBE, SSKE and ISKE

For RRBE, SSKE, and ISKE, we're dealing with real addresses, so we have to
convert to an absolute address first.

In the future, when adding EDAT1 support, we'll have to pay attention to
SSKE handling, as we'll be dealing with absolute addresses when the
multiple-block control is one.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-4-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: eaa0feea7532429c3a9bec357ec4f77cb156fab0
      
https://github.com/qemu/qemu/commit/eaa0feea7532429c3a9bec357ec4f77cb156fab0
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/mmu_helper.c
    M target/s390x/s390x-internal.h
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  s390x/tcg: check for addressing exceptions for RRBE, SSKE and ISKE

Let's replace the ram_size check by a proper physical address space
check (for example, to prepare for memory hotplug), trigger addressing
exceptions and trace the return value of the storage key getter/setter.

Provide an helper mmu_absolute_addr_valid() to be used in other context
soon. Always test for "read" instead of "write" as we are not actually
modifying the page itself.

Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-5-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e039992f9aa355bfb20d9797d4ce9eb04b7b0b2c
      
https://github.com/qemu/qemu/commit/e039992f9aa355bfb20d9797d4ce9eb04b7b0b2c
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  s390x/mmu_helper: no need to pass access type to mmu_translate_asce()

The access type is unused since commit 81d7e3bc45 ("s390x/mmu: Inject
DAT exceptions from a single place").

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-6-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e0b11f2df19c1e9341e9cec78429e45e5af5901b
      
https://github.com/qemu/qemu/commit/e0b11f2df19c1e9341e9cec78429e45e5af5901b
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  s390x/mmu_helper: fixup mmu_translate() documentation

Looks like we forgot to adjust documentation of one parameter.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-7-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 390191c6f6e2e912f45bc312464d59b84ca12db3
      
https://github.com/qemu/qemu/commit/390191c6f6e2e912f45bc312464d59b84ca12db3
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/mmu_helper.c
    M target/s390x/s390x-internal.h
    M target/s390x/tcg/excp_helper.c
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  s390x/mmu_helper: move address validation into mmu_translate*()

Let's move address validation into mmu_translate() and
mmu_translate_real(). This allows for checking whether an absolute
address is valid before looking up the storage key. We can now get rid of
the ram_size check.

Interestingly, we're already handling LOAD REAL ADDRESS wrong, because
a) We're not supposed to touch storage keys
b) We're not supposed to convert to an absolute address

Let's use a fake, negative MMUAccessType to teach mmu_translate() to
fix that handling and to not perform address validation.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-8-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 380ac2bcce466f3b8f93eb749c7e85bfcf476cd6
      
https://github.com/qemu/qemu/commit/380ac2bcce466f3b8f93eb749c7e85bfcf476cd6
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  s390x/mmu_helper: avoid setting the storage key if nothing changed

Avoid setting the key if nothing changed.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-9-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 67db1306a253b87ea4a1fc4e4fc13758b74aa8b2
      
https://github.com/qemu/qemu/commit/67db1306a253b87ea4a1fc4e4fc13758b74aa8b2
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M hw/s390x/s390-skeys.c

  Log Message:
  -----------
  hw/s390x/s390-skeys: use memory mapping to detect which storage keys to 
migrate

Let's use the guest_phys_blocks API to get physical memory regions
that are well defined inside our physical address space and migrate the
storage keys of these.

This is a preparation for having memory besides initial ram defined in
the guest physical address space, for example, via memory devices. We
get rid of the ms->ram_size dependency.

Please note that we will usually have very little (--> 1) physical
ranges. With virtio-mem might have significantly more ranges in the
future. If that turns out to be a problem (e.g., total memory
footprint of the list), we could look into a memory mapping
API that avoids creation of a list and instead triggers a callback for
each range.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-10-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 78eedc60aa01df7fa302b882f8f7e06901d24123
      
https://github.com/qemu/qemu/commit/78eedc60aa01df7fa302b882f8f7e06901d24123
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M hw/s390x/s390-skeys.c

  Log Message:
  -----------
  hw/s390x/s390-skeys: use memory mapping to detect which storage keys to dump

Handle it similar to migration. Assert that we're holding the BQL, to
make sure we don't see concurrent modifications.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-11-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 2162faf77ef3b2e17eb209756f3886adfcc8d9b1
      
https://github.com/qemu/qemu/commit/2162faf77ef3b2e17eb209756f3886adfcc8d9b1
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M hw/s390x/s390-skeys.c

  Log Message:
  -----------
  hw/s390x/s390-skeys: check if an address is valid before dumping the key

Let's validate the given address and report a proper error in case it's
not. All call paths now properly check the validity of the given GFN.
Remove the TODO.

The errors inside the getter and setter should only trigger if something
really goes wrong now, for example, with a broken migration stream. Or
when we forget to update the storage key allocation with memory hotplug.

Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-12-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 5227b3260144657b48c2e215f1b38f0a5a7fbcac
      
https://github.com/qemu/qemu/commit/5227b3260144657b48c2e215f1b38f0a5a7fbcac
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M hw/s390x/s390-skeys-kvm.c
    M hw/s390x/s390-skeys.c
    M include/hw/s390x/storage-keys.h

  Log Message:
  -----------
  hw/s390x/s390-skeys: rename skeys_enabled to skeys_are_enabled

... and make it return a bool instead.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-13-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c35622387efe39214ccd14fab0f280b6c53f1654
      
https://github.com/qemu/qemu/commit/c35622387efe39214ccd14fab0f280b6c53f1654
  Author: David Hildenbrand <david@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M hw/s390x/s390-skeys.c
    M include/hw/s390x/storage-keys.h
    M target/s390x/mmu_helper.c
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  hw/s390x/s390-skeys: lazy storage key enablement under TCG

Let's enable storage keys lazily under TCG, just as we do under KVM.
Only fairly old Linux versions actually make use of storage keys, so it
can be kind of wasteful to allocate quite some memory and track
changes and references if nobody cares.

We have to make sure to flush the TLB when enabling storage keys after
the VM was already running: otherwise it might happen that we don't
catch references or modifications afterwards.

Add proper documentation to all callbacks.

The kvm-unit-tests skey tests keeps on working with this change.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-14-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: ed3288ff8f8aab9b6602484dfcc09d5b59fb84fc
      
https://github.com/qemu/qemu/commit/ed3288ff8f8aab9b6602484dfcc09d5b59fb84fc
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-inst.c
    M hw/s390x/sclp.c
    M include/hw/s390x/s390-pci-bus.h

  Log Message:
  -----------
  s390x: Replace PAGE_SIZE, PAGE_SHIFT and PAGE_MASK

The PAGE_SIZE macro is causing trouble on Alpine Linux since it
clashes with a macro from a system header there. We already have
the TARGET_PAGE_SIZE, TARGET_PAGE_MASK and TARGET_PAGE_BITS macros
in QEMU anyway, so let's simply replace the PAGE_SIZE, PAGE_MASK
and PAGE_SHIFT macro with their TARGET_* counterparts.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/572
Message-Id: <20210901125800.611183-1-thuth@redhat.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 30e398f796d882d829162a16ab7c920f7422da3b
      
https://github.com/qemu/qemu/commit/30e398f796d882d829162a16ab7c920f7422da3b
  Author: Christian Borntraeger <borntraeger@de.ibm.com>
  Date:   2021-09-07 (Tue, 07 Sep 2021)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c
    M target/s390x/gen-features.c

  Log Message:
  -----------
  s390x/cpumodel: Add more feature to gen16 default model

Add the new gen16 features to the default model and fence them for
machine version 6.1 and earlier.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20210907101017.27126-1-borntraeger@de.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: abf7aee72ea66944a62962603e4c2381f5e473e7
      
https://github.com/qemu/qemu/commit/abf7aee72ea66944a62962603e4c2381f5e473e7
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-09-07 (Tue, 07 Sep 2021)

  Changed paths:
    M hw/s390x/css.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-inst.c
    M hw/s390x/s390-skeys-kvm.c
    M hw/s390x/s390-skeys.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/sclp.c
    M hw/vfio/ccw.c
    M include/hw/s390x/css.h
    M include/hw/s390x/s390-pci-bus.h
    M include/hw/s390x/storage-keys.h
    M target/s390x/gen-features.c
    M target/s390x/helper.h
    M target/s390x/ioinst.c
    M target/s390x/mmu_helper.c
    M target/s390x/s390x-internal.h
    M target/s390x/tcg/excp_helper.c
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/misc_helper.c
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/gdbstub/test-signals-s390x.py
    A tests/tcg/s390x/signals-s390x.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/thuth-gitlab/tags/s390x-pull-request-2021-09-07' into staging

* Some CSS related fixes
* Storage key related fixes
* Test SIGILL and SIGSEGV handling in usermode emulation
* Fix SETPREFIX instruction
* Replace PAGE_SIZE, PAGE_SHIFT and PAGE_MASK to fix Alpine compilation
* Add more feature to gen16 default model

# gpg: Signature made Tue 07 Sep 2021 14:07:38 BST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/thuth-gitlab/tags/s390x-pull-request-2021-09-07:
  s390x/cpumodel: Add more feature to gen16 default model
  s390x: Replace PAGE_SIZE, PAGE_SHIFT and PAGE_MASK
  hw/s390x/s390-skeys: lazy storage key enablement under TCG
  hw/s390x/s390-skeys: rename skeys_enabled to skeys_are_enabled
  hw/s390x/s390-skeys: check if an address is valid before dumping the key
  hw/s390x/s390-skeys: use memory mapping to detect which storage keys to dump
  hw/s390x/s390-skeys: use memory mapping to detect which storage keys to 
migrate
  s390x/mmu_helper: avoid setting the storage key if nothing changed
  s390x/mmu_helper: move address validation into mmu_translate*()
  s390x/mmu_helper: fixup mmu_translate() documentation
  s390x/mmu_helper: no need to pass access type to mmu_translate_asce()
  s390x/tcg: check for addressing exceptions for RRBE, SSKE and ISKE
  s390x/tcg: convert real to absolute address for RRBE, SSKE and ISKE
  s390x/tcg: fix ignoring bit 63 when setting the storage key in SSKE
  s390x/tcg: wrap address for RRBE
  s390x/ioinst: Fix wrong MSCH alignment check on little endian
  s390x/tcg: fix and optimize SPX (SET PREFIX)
  tests/tcg/s390x: Test SIGILL and SIGSEGV handling
  css: fix actl handling for unit exceptions
  vfio-ccw: forward halt/clear errors

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


Compare: https://github.com/qemu/qemu/compare/f9128631fbeb...abf7aee72ea6



reply via email to

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