linux/arch/s390/kvm
Collin Walling 23a60f8344 s390/kvm: diagnose 0x318 sync and reset
DIAGNOSE 0x318 (diag318) sets information regarding the environment
the VM is running in (Linux, z/VM, etc) and is observed via
firmware/service events.

This is a privileged s390x instruction that must be intercepted by
SIE. Userspace handles the instruction as well as migration. Data
is communicated via VCPU register synchronization.

The Control Program Name Code (CPNC) is stored in the SIE block. The
CPNC along with the Control Program Version Code (CPVC) are stored
in the kvm_vcpu_arch struct.

This data is reset on load normal and clear resets.

Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20200622154636.5499-3-walling@linux.ibm.com
[borntraeger@de.ibm.com: fix sync_reg position]
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2020-06-23 10:55:33 +02:00
..
diag.c KVM: s390: protvirt: Report CPU state to Ultravisor 2020-02-27 19:47:12 +01:00
gaccess.c mmap locking API: use coccinelle to convert mmap_sem rwsem call sites 2020-06-09 09:39:14 -07:00
gaccess.h KVM: s390: Remove redundant license text 2017-12-06 09:18:42 +01:00
guestdbg.c KVM: s390: introduce defines for control registers 2018-05-17 09:02:27 +02:00
intercept.c KVM: s390: Features and Enhancements for 5.7 part1 2020-03-16 18:19:34 +01:00
interrupt.c mmap locking API: use coccinelle to convert mmap_sem rwsem call sites 2020-06-09 09:39:14 -07:00
irq.h KVM: s390: Remove redundant license text 2017-12-06 09:18:42 +01:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
kvm-s390.c s390/kvm: diagnose 0x318 sync and reset 2020-06-23 10:55:33 +02:00
kvm-s390.h KVM: s390: protvirt: Report CPU state to Ultravisor 2020-02-27 19:47:12 +01:00
Makefile KVM: s390: protvirt: Add initial vm and cpu lifecycle handling 2020-02-27 19:47:11 +01:00
priv.c mmap locking API: convert mmap_sem comments 2020-06-09 09:39:14 -07:00
pv.c KVM: s390: protvirt: Report CPU state to Ultravisor 2020-02-27 19:47:12 +01:00
sigp.c KVM: s390: introduce and use kvm_s390_test_cpuflags() 2018-01-24 17:46:42 +01:00
trace-s390.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vsie.c s390/kvm: diagnose 0x318 sync and reset 2020-06-23 10:55:33 +02:00