qemu-e2k/include
Collin Walling fabdada935 s390: guest support for diagnose 0x318
DIAGNOSE 0x318 (diag318) is an s390 instruction that allows the storage
of diagnostic information that is collected by the firmware in the case
of hardware/firmware service events.

QEMU handles the instruction by storing the info in the CPU state. A
subsequent register sync will communicate the data to the hypervisor.

QEMU handles the migration via a VM State Description.

This feature depends on the Extended-Length SCCB (els) feature. If
els is not present, then a warning will be printed and the SCLP bit
that allows the Linux kernel to execute the instruction will not be
set.

Availability of this instruction is determined by byte 134 (aka fac134)
bit 0 of the SCLP Read Info block. This coincidentally expands into the
space used for CPU entries, which means VMs running with the diag318
capability may not be able to read information regarding all CPUs
unless the guest kernel supports an extended-length SCCB.

This feature is not supported in protected virtualization mode.

Signed-off-by: Collin Walling <walling@linux.ibm.com>
Acked-by: Janosch Frank <frankja@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20200915194416.107460-9-walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2020-10-02 13:52:49 +02:00
..
authz qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
block qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
chardev Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
crypto qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
disas
exec microvm: add pcie support. 2020-10-01 15:28:55 +01:00
fpu softfloat: Define comparison operations for bfloat16 2020-08-29 19:25:42 -07:00
hw s390: guest support for diagnose 0x318 2020-10-02 13:52:49 +02:00
io Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
libdecnumber
migration
monitor cphp: remove deprecated cpu-add command(s) 2020-09-29 02:14:30 -04:00
net net/can: Add can_dlc2len and can_len2dlc for CAN FD. 2020-09-30 19:11:37 +02:00
qapi
qemu typedefs: Restrict PCMachineState to 'hw/i386/pc.h' 2020-09-30 19:11:36 +02:00
qom docs: Move object.h overview doc comment to qom.rst 2020-09-30 19:11:36 +02:00
scsi scsi-generic: Fix HM-zoned device scan 2020-09-30 19:09:20 +02:00
standard-headers linux headers: sync to 5.9-rc4 2020-09-29 02:14:29 -04:00
sysemu sysemu/xen: Add missing 'exec/cpu-common.h' header for ram_addr_t type 2020-09-30 19:11:36 +02:00
tcg tcg: Add tcg_get_insn_start_param 2020-09-01 07:43:30 -07:00
ui spice: get monitors physical dimension 2020-09-29 10:08:25 +02:00
user
elf.h
glib-compat.h
qemu-common.h vl: relocate paths to data directories 2020-09-30 19:11:36 +02:00
qemu-io.h
trace-tcg.h