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 09/19/2018 05:30 AM, Cornelia Huck wrote:
> 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?
> 

It is a new diagnose code.

>>
>> 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.

I'll include it in the next round of patches so we can work on a decent format.

> 
>>
>> 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.
> 

Maybe it would help to include a toString-esque macro for these values. Then
when the HPID and CPNC get logged we will have something us humans can read? :)

The distro_id will have to be deciphered via the registry file. Thoughts?

-- 
Respectfully,
- Collin Walling




[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