diff mbox series

[v8,1/2] s390/setup: diag 318: refactor struct

Message ID 20200618222222.23175-2-walling@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series Use DIAG318 to set Control Program Name & Version Codes | expand

Commit Message

Collin Walling June 18, 2020, 10:22 p.m. UTC
The diag 318 struct introduced in include/asm/diag.h can be
reused in KVM, so let's condense the version code fields in the
diag318_info struct for easier usage and simplify it until we
can determine how the data should be formatted.

Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
---
 arch/s390/include/asm/diag.h | 6 ++----
 arch/s390/kernel/setup.c     | 3 +--
 2 files changed, 3 insertions(+), 6 deletions(-)

Comments

Christian Borntraeger June 22, 2020, 2:56 p.m. UTC | #1
On 19.06.20 00:22, Collin Walling wrote:
> The diag 318 struct introduced in include/asm/diag.h can be
> reused in KVM, so let's condense the version code fields in the
> diag318_info struct for easier usage and simplify it until we
> can determine how the data should be formatted.
> 
> Signed-off-by: Collin Walling <walling@linux.ibm.com>
> Reviewed-by: David Hildenbrand <david@redhat.com>
> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Janosch Frank <frankja@linux.ibm.com>

Series looks good to me. Can you respin the 2nd patch regarding the VSIE things
and I can then apply it.


> ---
>  arch/s390/include/asm/diag.h | 6 ++----
>  arch/s390/kernel/setup.c     | 3 +--
>  2 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/s390/include/asm/diag.h b/arch/s390/include/asm/diag.h
> index 0036eab14391..ca8f85b53a90 100644
> --- a/arch/s390/include/asm/diag.h
> +++ b/arch/s390/include/asm/diag.h
> @@ -298,10 +298,8 @@ struct diag26c_mac_resp {
>  union diag318_info {
>  	unsigned long val;
>  	struct {
> -		unsigned int cpnc : 8;
> -		unsigned int cpvc_linux : 24;
> -		unsigned char cpvc_distro[3];
> -		unsigned char zero;
> +		unsigned long cpnc : 8;
> +		unsigned long cpvc : 56;
>  	};
>  };
>  
> diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
> index 5853c9872dfe..878cacfc9c3e 100644
> --- a/arch/s390/kernel/setup.c
> +++ b/arch/s390/kernel/setup.c
> @@ -1021,8 +1021,7 @@ static void __init setup_control_program_code(void)
>  {
>  	union diag318_info diag318_info = {
>  		.cpnc = CPNC_LINUX,
> -		.cpvc_linux = 0,
> -		.cpvc_distro = {0},
> +		.cpvc = 0,
>  	};
>  
>  	if (!sclp.has_diag318)
>
Collin Walling June 22, 2020, 3:37 p.m. UTC | #2
On 6/22/20 10:56 AM, Christian Borntraeger wrote:
> 
> On 19.06.20 00:22, Collin Walling wrote:
>> The diag 318 struct introduced in include/asm/diag.h can be
>> reused in KVM, so let's condense the version code fields in the
>> diag318_info struct for easier usage and simplify it until we
>> can determine how the data should be formatted.
>>
>> Signed-off-by: Collin Walling <walling@linux.ibm.com>
>> Reviewed-by: David Hildenbrand <david@redhat.com>
>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>> Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
> 
> Series looks good to me. Can you respin the 2nd patch regarding the VSIE things
> and I can then apply it.
> 
> 

Will do. Thanks.

>> ---
>>  arch/s390/include/asm/diag.h | 6 ++----
>>  arch/s390/kernel/setup.c     | 3 +--
>>  2 files changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/s390/include/asm/diag.h b/arch/s390/include/asm/diag.h
>> index 0036eab14391..ca8f85b53a90 100644
>> --- a/arch/s390/include/asm/diag.h
>> +++ b/arch/s390/include/asm/diag.h
>> @@ -298,10 +298,8 @@ struct diag26c_mac_resp {
>>  union diag318_info {
>>  	unsigned long val;
>>  	struct {
>> -		unsigned int cpnc : 8;
>> -		unsigned int cpvc_linux : 24;
>> -		unsigned char cpvc_distro[3];
>> -		unsigned char zero;
>> +		unsigned long cpnc : 8;
>> +		unsigned long cpvc : 56;
>>  	};
>>  };
>>  
>> diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
>> index 5853c9872dfe..878cacfc9c3e 100644
>> --- a/arch/s390/kernel/setup.c
>> +++ b/arch/s390/kernel/setup.c
>> @@ -1021,8 +1021,7 @@ static void __init setup_control_program_code(void)
>>  {
>>  	union diag318_info diag318_info = {
>>  		.cpnc = CPNC_LINUX,
>> -		.cpvc_linux = 0,
>> -		.cpvc_distro = {0},
>> +		.cpvc = 0,
>>  	};
>>  
>>  	if (!sclp.has_diag318)
>>
diff mbox series

Patch

diff --git a/arch/s390/include/asm/diag.h b/arch/s390/include/asm/diag.h
index 0036eab14391..ca8f85b53a90 100644
--- a/arch/s390/include/asm/diag.h
+++ b/arch/s390/include/asm/diag.h
@@ -298,10 +298,8 @@  struct diag26c_mac_resp {
 union diag318_info {
 	unsigned long val;
 	struct {
-		unsigned int cpnc : 8;
-		unsigned int cpvc_linux : 24;
-		unsigned char cpvc_distro[3];
-		unsigned char zero;
+		unsigned long cpnc : 8;
+		unsigned long cpvc : 56;
 	};
 };
 
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 5853c9872dfe..878cacfc9c3e 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -1021,8 +1021,7 @@  static void __init setup_control_program_code(void)
 {
 	union diag318_info diag318_info = {
 		.cpnc = CPNC_LINUX,
-		.cpvc_linux = 0,
-		.cpvc_distro = {0},
+		.cpvc = 0,
 	};
 
 	if (!sclp.has_diag318)