On 15/09/2020 21.44, Collin Walling wrote:
> 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 <wall...@linux.ibm.com>
> Acked-by: Janosch Frank <fran...@linux.ibm.com>
> ---
>  hw/s390x/sclp.c                     |  5 ++++
>  include/hw/s390x/sclp.h             |  8 ++++++
>  target/s390x/cpu.h                  |  2 ++
>  target/s390x/cpu_features.h         |  1 +
>  target/s390x/cpu_features_def.h.inc |  3 +++
>  target/s390x/cpu_models.c           |  1 +
>  target/s390x/gen-features.c         |  1 +
>  target/s390x/kvm.c                  | 39 +++++++++++++++++++++++++++++
>  target/s390x/machine.c              | 17 +++++++++++++
>  9 files changed, 77 insertions(+)

Acked-by: Thomas Huth <th...@redhat.com>

(I hope David could still comment on the CPU model stuff ... it looks ok
to me here, but I got that wrong a couple of times in the past already...)


Reply via email to