Re: [RFC PATCH 0/3] Use DIAG318 to set Control Program Name & Version Codes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 31 Aug 2018 12:51:16 -0400
Collin Walling <walling@xxxxxxxxxxxxx> wrote:

> A new diagnose instruction, 318, allows the kernel to set an 8-byte "Control 
> Program Code" (CPC) that is composed of:
> 
>     1-byte Control Program Name Code (CPNC)
>     7-byte Control Program Version Code (CPVC) composed of:
>         3-bytes for Linux Kernel version (determined at build-time)
>         3-bytes for Distribution Identifier (referred to as distro_id; set by Kconfig option)
>         1-byte trailing NULL

Is this a new diagnose code, or is just the implementation in Linux new?

> 
> Note about distro_id:
> [
> The initial idea for the 3-byte distro_id is for each distribution to set 
> three characters that correspond to their distribution name (for a theoretical 
> distributor "ACME," they could set "ACM" as the distro_id). A registry file 
> could be included in the s390 kernel documentation to avoid name collisions.
> ]

Yes, I think we do want some kind of registry for this.

> 
> This instruction call is executed once-and-only-once during Kernel setup.
> The availability of this instruction depends on Read SCP Info byte 134, bit 0.
> Diagnose318's functionality is also emulated by KVM, which means we can 
> enable this feature for a guest even if the host cannot support it.
> 
> Also introduced with this patchset is a Host Program Identifier (HPID), which
> denotes the underlying host environment.
> 
> The CPC and HPID are used for problem diagnosis and allows IBM to identify 
> control program information by answering the following questions:
> 
>     "What environment is this guest running in?" (CPNC)
>     "What distribution is this guest running?" (CPVC)
>     "What underlying host environment is this guest running on?" (HPID)

Is there also a way for people-who-are-not-IBM to find out what these
values have been set to? :) (IOW, is that write-only from a Linux
perspective?)

I see that for the emulated instruction the values are logged into the
debug feature, which seems useful.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux