qemu-e2k/target/s390x
Tony Krowiak 1d7db85b61 s390x/kvm: enable AP instruction interpretation for guest
Let's use the KVM_SET_DEVICE_ATTR ioctl to enable hardware
interpretation of AP instructions executed on the guest.
If the S390_FEAT_AP feature is switched on for the guest,
AP instructions must be interpreted by default; otherwise,
they will be intercepted.

This attribute setting may be overridden by a device. For example,
a device may want to provide AP instructions to the guest (i.e.,
S390_FEAT_AP turned on), but it may want to emulate them. In this
case, the AP instructions executed on the guest must be
intercepted; so when the device is realized, it must disable
interpretation.

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
Tested-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <20181010170309.12045-4-akrowiak@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2018-10-12 11:32:18 +02:00
..
Makefile.objs s390x/tcg: rearm the CKC timer during migration 2018-07-02 10:37:38 +02:00
arch_dump.c compiler: add a sizeof_field() macro 2018-06-27 13:01:40 +01:00
cc_helper.c s390x/tcg: use s390_program_interrupt() in SACF 2017-12-14 17:56:54 +01:00
cpu-qom.h target/s390x: change CPU type name to "s390x-cpu" 2017-10-30 08:56:28 +01:00
cpu.c s390x/tcg: always enable AFP for linux-user 2018-10-09 10:34:01 +01:00
cpu.h s390x/tcg: store in the TB flags if AFP is enabled 2018-10-04 10:32:39 +02:00
cpu_features.c s390x/cpumodel: Set up CPU model for AP device support 2018-10-12 11:32:18 +02:00
cpu_features.h s390x/cpumodel: enum type S390FeatGroup now gets generated 2018-08-20 14:18:49 +02:00
cpu_features_def.h s390x/cpumodel: Set up CPU model for AP device support 2018-10-12 11:32:18 +02:00
cpu_models.c s390x/cpumodel: Set up CPU model for AP device support 2018-10-12 11:32:18 +02:00
cpu_models.h s390x: change the QEMU cpu model to a stripped down z12 2017-12-14 17:56:54 +01:00
crypto_helper.c s390x/tcg: introduce and use s390_program_interrupt() 2017-12-14 17:56:54 +01:00
diag.c * Linux header upgrade (Peter) 2018-06-01 18:24:16 +01:00
excp_helper.c target/s390x/excp_helper: Remove DPRINTF() macro 2018-10-12 11:32:18 +02:00
fpu_helper.c s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
gdbstub.c target/s390x: introduce internal.h 2017-08-30 18:23:25 +02:00
gen-features.c s390x/cpumodel: Set up CPU model for AP device support 2018-10-12 11:32:18 +02:00
helper.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
helper.h s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
insn-data.def s390x/tcg: handle privileged instructions via flags 2018-10-04 10:32:39 +02:00
insn-format.def target/s390x: Implement load-on-condition-2 insns 2017-06-23 09:17:44 -07:00
int_helper.c s390x/tcg: get rid of runtime_exception() 2017-12-14 17:56:54 +01:00
internal.h s390x/tcg: properly implement the TOD 2018-07-02 10:37:38 +02:00
interrupt.c s390x: move tcg_s390_program_interrupt() into TCG code and mark it noreturn 2018-10-04 10:32:39 +02:00
ioinst.c s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG) 2017-12-14 17:56:54 +01:00
kvm-stub.c s390x/kvm: pass values instead of pointers to kvm_s390_set_clock_*() 2018-07-02 10:37:38 +02:00
kvm.c s390x/kvm: enable AP instruction interpretation for guest 2018-10-12 11:32:18 +02:00
kvm_s390x.h s390x/tod: factor out TOD into separate device 2018-07-02 10:37:38 +02:00
machine.c s390x/kvm: add etoken facility 2018-08-20 14:18:49 +02:00
mem_helper.c target/s390x: fix PACK reading 1 byte less and writing 1 byte more 2018-08-28 17:37:01 +02:00
misc_helper.c s390x/tcg: fix locking problem with tcg_s390_tod_updated 2018-07-02 10:37:38 +02:00
mmu_helper.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
sigp.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
tcg-stub.c s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
tcg_s390x.h s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
trace-events s390x/kvm: factor out SIGP code into sigp.c 2017-10-20 13:32:10 +02:00
translate.c s390x/tcg: refactor specification checking 2018-10-04 10:32:39 +02:00