qemu-e2k/hw/s390x
David Hildenbrand c35622387e 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>
2021-09-06 16:24:05 +02:00
..
3270-ccw.c s390x/css: Refactor IRB construction 2021-06-21 08:48:21 +02:00
ap-bridge.c
ap-device.c
ccw-device.c hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
ccw-device.h hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
css-bridge.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
css.c vfio-ccw: forward halt/clear errors 2021-09-06 16:22:54 +02:00
event-facility.c
ipl.c error: Use error_fatal to simplify obvious fatal errors (again) 2021-08-26 17:15:28 +02:00
ipl.h
Kconfig
meson.build hw/s390x: only build tod-tcg from the CONFIG_TCG build 2021-07-07 14:01:54 +02:00
pv.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-ccw.c s390x/css: Add passthrough IRB 2021-06-21 08:48:21 +02:00
s390-pci-bus.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-pci-inst.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-pci-vfio.c
s390-skeys-kvm.c hw/s390x/s390-skeys: rename skeys_enabled to skeys_are_enabled 2021-09-06 16:24:05 +02:00
s390-skeys.c hw/s390x/s390-skeys: lazy storage key enablement under TCG 2021-09-06 16:24:05 +02:00
s390-stattrib-kvm.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
s390-stattrib.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-virtio-ccw.c hw: Add compat machines for 6.2 2021-09-01 11:08:16 +01:00
s390-virtio-hcall.c
s390-virtio-hcall.h
sclp.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sclpcpu.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sclpquiesce.c
tod-kvm.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
tod-tcg.c target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
tod.c hw/s390x: tod: make explicit checks for accelerators when initializing 2021-07-07 14:01:54 +02:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h
vhost-user-fs-ccw.c
vhost-vsock-ccw.c
virtio-ccw-9p.c
virtio-ccw-balloon.c
virtio-ccw-blk.c
virtio-ccw-crypto.c
virtio-ccw-gpu.c modules: add s390x module annotations 2021-07-09 18:20:27 +02:00
virtio-ccw-input.c
virtio-ccw-net.c
virtio-ccw-rng.c
virtio-ccw-scsi.c
virtio-ccw-serial.c
virtio-ccw.c virtio: disable ioeventfd for record/replay 2021-07-02 10:20:13 -04:00
virtio-ccw.h