qemu/target/s390x
Collin Walling e2c6cd5674 s390/kvm: fix diag318 propagation and reset functionality
The Control Program Name Code (CPNC) portion of the diag318
info must be set within the SIE block of each VCPU in the
configuration. The handler will iterate through each VCPU
and dirty the diag318_info reg to be synced with KVM on a
subsequent sync_regs call.

Additionally, the diag318 info resets must be handled via
userspace. As such, QEMU will reset this value for each
VCPU during a modified clear, load normal, and load clear
reset event.

Fixes: fabdada935 ("s390: guest support for diagnose 0x318")
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Message-Id: <20201113221022.257054-1-walling@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Janosch Frank <frankja@de.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2020-11-18 16:57:48 +01:00
..
arch_dump.c s390x: Use uint64_t for vector registers 2019-06-07 14:53:25 +02:00
cc_helper.c s390x/tcg: Implement MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC) 2020-10-02 13:52:49 +02:00
cpu_features_def.h meson: rename .inc.h files to .h.inc 2020-08-21 06:18:35 -04:00
cpu_features_def.h.inc s390x/cpumodel: S390_FEAT_MISC_INSTRUCTION_EXT -> S390_FEAT_MISC_INSTRUCTION_EXT2 2020-10-02 13:52:49 +02:00
cpu_features.c s390x: pv: Fix diag318 PV fencing 2020-10-22 15:47:27 +02:00
cpu_features.h s390x: pv: Fix diag318 PV fencing 2020-10-22 15:47:27 +02:00
cpu_models.c s390x: fix clang 11 warnings in cpu_models.c 2020-11-10 08:51:30 +01:00
cpu_models.h meson: convert target/s390x/gen-features.h 2020-08-21 06:30:17 -04:00
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 07:03:34 -07:00
cpu-qom.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
cpu.c s390/kvm: fix diag318 propagation and reset functionality 2020-11-18 16:57:48 +01:00
cpu.h s390/kvm: fix diag318 propagation and reset functionality 2020-11-18 16:57:48 +01:00
crypto_helper.c target/s390x: Use tcg_s390_program_interrupt in TCG helpers 2019-10-09 12:49:01 +02:00
diag.c s390x: protvirt: Move diag 308 data over SIDA 2020-04-29 14:31:32 +02:00
excp_helper.c s390x/tcg: Implement MONITOR CALL 2020-10-02 13:52:49 +02:00
fpu_helper.c softfloat: Name compare relation enum 2020-05-19 08:41:45 -07:00
gdbstub.c gdbstub: extend GByteArray to read register helpers 2020-03-17 17:38:38 +00:00
gen-features.c s390x/tcg: Implement CIPHER MESSAGE WITH AUTHENTICATION (KMA) 2020-10-02 13:52:49 +02:00
helper.c s390x/tcg: Implement MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC) 2020-10-02 13:52:49 +02:00
helper.h s390x/tcg: Implement MONITOR CALL 2020-10-02 13:52:49 +02:00
insn-data.def target/s390x: fix execution with icount 2020-11-05 11:20:34 +01:00
insn-format.def s390x/tcg: Define vector instruction formats 2019-03-11 09:31:01 +01:00
int_helper.c target/s390x: Use tcg_s390_program_interrupt in TCG helpers 2019-10-09 12:49:01 +02:00
internal.h s390x/tcg: Implement MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC) 2020-10-02 13:52:49 +02:00
interrupt.c target/s390x: Remove ilen argument from trigger_pgm_exception 2019-10-09 12:49:02 +02:00
ioinst.c vfio-ccw: Add support for the schib region 2020-06-18 12:13:54 +02:00
kvm_s390x.h s390/kvm: fix diag318 propagation and reset functionality 2020-11-18 16:57:48 +01:00
kvm-stub.c s390/kvm: fix diag318 propagation and reset functionality 2020-11-18 16:57:48 +01:00
kvm.c s390/kvm: fix diag318 propagation and reset functionality 2020-11-18 16:57:48 +01:00
machine.c s390: guest support for diagnose 0x318 2020-10-02 13:52:49 +02:00
mem_helper.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
meson.build target/s390x: fix meson.build issue 2020-08-21 11:55:13 -04:00
misc_helper.c target/s390x: Split out helper_per_store_real 2019-12-18 12:57:29 +01:00
mmu_helper.c s390x: Add SIDA memory ops 2020-04-29 14:31:31 +02:00
s390-tod.h target/s390x: Split out s390-tod.h 2019-02-18 11:25:43 +01:00
sigp.c s390x: sigp: Fix sense running reporting 2020-01-27 12:13:10 +01:00
tcg_s390x.h target/s390x: Remove ilen parameter from tcg_s390_program_interrupt 2019-10-09 12:49:01 +02:00
tcg-stub.c target/s390x: Remove ilen parameter from tcg_s390_program_interrupt 2019-10-09 12:49:01 +02:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
translate_vx.c.inc meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
translate.c target/s390x: fix execution with icount 2020-11-05 11:20:34 +01:00
vec_fpu_helper.c softfloat: Inline float64 compare specializations 2020-05-19 08:42:45 -07:00
vec_helper.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vec_int_helper.c target/s390x: Use tcg_gen_gvec_rotl{i,s,v} 2020-06-02 08:42:37 -07:00
vec_string_helper.c s390x/tcg: Implement VECTOR STRING RANGE COMPARE 2019-06-07 14:53:25 +02:00
vec.h s390x/tcg: Implement VECTOR STRING RANGE COMPARE 2019-06-07 14:53:25 +02:00