On Mon, 22 Jun 2020 12:23:45 -0400 Collin Walling <walling@xxxxxxxxxxxxx> wrote: > Mind if I get some early feedback for the first run? How does this sound: > > 8.24 KVM_CAP_S390_DIAG318 > ------------------------- > > :Architecture: s390 > > This capability allows for information regarding the control program > that may be observed via system/firmware service events. The > availability of this capability indicates that KVM handling of the > register synchronization, reset, and VSIE shadowing of the DIAGNOSE > 0x318 related information is present. > > The information associated with the instruction is an 8-byte value > consisting of a one-byte Control Program Name Code (CPNC), and a 7-byte > Control Program Version Code (CPVC). The CPNC determines what > environment the control program is running in (e.g. Linux, z/VM...), and > the CPVC is used for extraneous information specific to OS (e.g. Linux > version, Linux distribution...) > > The CPNC must be stored in the SIE block for the CPU that executes the > diag instruction, which is communicated from userspace to KVM via > register synchronization using the KVM_SYNC_DIAG318 flag. Both codes are > stored together in the kvm_vcpu_arch struct. Hm... what about replacing that last paragraph with "If this capability is available, the CPNC and CPVC are available for synchronization between KVM and userspace via the sync regs mechanism (KVM_SYNC_DIAG318)." ?