diff mbox series

[v4,10/10] KVM: s390: start using the GIB

Message ID 20181130143215.69496-11-mimu@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series KVM: s390: make use of the GIB | expand

Commit Message

Michael Mueller Nov. 30, 2018, 2:32 p.m. UTC
By initializing the GIB, it will be used by the kvm host.

Signed-off-by: Michael Mueller <mimu@linux.ibm.com>
---
 Documentation/kmsg/s390/kvm | 12 ++++++++++++
 arch/s390/kvm/kvm-s390.c    | 10 +++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)

Comments

Cornelia Huck Dec. 3, 2018, 9:50 a.m. UTC | #1
On Fri, 30 Nov 2018 15:32:15 +0100
Michael Mueller <mimu@linux.ibm.com> wrote:

> By initializing the GIB, it will be used by the kvm host.
> 
> Signed-off-by: Michael Mueller <mimu@linux.ibm.com>
> ---
>  Documentation/kmsg/s390/kvm | 12 ++++++++++++
>  arch/s390/kvm/kvm-s390.c    | 10 +++++++++-
>  2 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/kmsg/s390/kvm b/Documentation/kmsg/s390/kvm
> index 76ffe2012254..6908476a54f1 100644
> --- a/Documentation/kmsg/s390/kvm
> +++ b/Documentation/kmsg/s390/kvm
> @@ -10,3 +10,15 @@
>   * If this problem persists after a reload of the kvm kernel module, gather
>   * Linux debug data and contact your support organization.
>   */
> +
> +/*?
> + * Text: "Failed to initialize GIB rc=%d\n"
> + * Severity: Error
> + * Parameter:
> + *   @1: return code of the GIB initialization call
> + * Description:
> + * The initialization if the GIB (Guest Information Block) was not successful.
> + * User action:
> + * If this problem persists after a reload of the kvm kernel module, gather
> + * Linux debug data and contact your support organization.
> + */

This does not exist upstream. Wrong branch?

> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index 2d10e175862c..5f068f3942da 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -428,16 +428,24 @@ int kvm_arch_init(void *opaque)
>  		goto out_debug_unreg;
>  	}
>  
> +	rc = kvm_s390_gib_init(GAL_ISC);
> +	if (rc) {
> +		pr_err("Failed to initialize GIB rc=%d\n", rc);
> +		goto out_debug_unreg;
> +	}
> +
>  	kvm_s390_cpu_feat_init();
>  
>  	/* Register floating interrupt controller interface. */
>  	rc = kvm_register_device_ops(&kvm_flic_ops, KVM_DEV_TYPE_FLIC);
>  	if (rc) {
>  		pr_err("Failed to register FLIC rc=%d\n", rc);
> -		goto out_debug_unreg;
> +		goto out_gib_destroy;
>  	}
>  	return 0;
>  
> +out_gib_destroy:
> +	kvm_s390_gib_destroy();
>  out_debug_unreg:
>  	debug_unregister(kvm_s390_dbf);
>  	return rc;
Michael Mueller Dec. 3, 2018, 10:09 a.m. UTC | #2
On 03.12.18 10:50, Cornelia Huck wrote:
> On Fri, 30 Nov 2018 15:32:15 +0100
> Michael Mueller <mimu@linux.ibm.com> wrote:
>
>> By initializing the GIB, it will be used by the kvm host.
>>
>> Signed-off-by: Michael Mueller <mimu@linux.ibm.com>
>> ---
>>   Documentation/kmsg/s390/kvm | 12 ++++++++++++
>>   arch/s390/kvm/kvm-s390.c    | 10 +++++++++-
>>   2 files changed, 21 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/kmsg/s390/kvm b/Documentation/kmsg/s390/kvm
>> index 76ffe2012254..6908476a54f1 100644
>> --- a/Documentation/kmsg/s390/kvm
>> +++ b/Documentation/kmsg/s390/kvm
>> @@ -10,3 +10,15 @@
>>    * If this problem persists after a reload of the kvm kernel module, gather
>>    * Linux debug data and contact your support organization.
>>    */
>> +
>> +/*?
>> + * Text: "Failed to initialize GIB rc=%d\n"
>> + * Severity: Error
>> + * Parameter:
>> + *   @1: return code of the GIB initialization call
>> + * Description:
>> + * The initialization if the GIB (Guest Information Block) was not successful.
>> + * User action:
>> + * If this problem persists after a reload of the kvm kernel module, gather
>> + * Linux debug data and contact your support organization.
>> + */
> This does not exist upstream. Wrong branch?

No, not the wrong branch, wrong file. These are the very first kmsgs for 
kvm and
it turns out that we defined

#define KMSG_COMPONENT "kvm-s390"

as the location.
>
>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
>> index 2d10e175862c..5f068f3942da 100644
>> --- a/arch/s390/kvm/kvm-s390.c
>> +++ b/arch/s390/kvm/kvm-s390.c
>> @@ -428,16 +428,24 @@ int kvm_arch_init(void *opaque)
>>   		goto out_debug_unreg;
>>   	}
>>   
>> +	rc = kvm_s390_gib_init(GAL_ISC);
>> +	if (rc) {
>> +		pr_err("Failed to initialize GIB rc=%d\n", rc);
>> +		goto out_debug_unreg;
>> +	}
>> +
>>   	kvm_s390_cpu_feat_init();
>>   
>>   	/* Register floating interrupt controller interface. */
>>   	rc = kvm_register_device_ops(&kvm_flic_ops, KVM_DEV_TYPE_FLIC);
>>   	if (rc) {
>>   		pr_err("Failed to register FLIC rc=%d\n", rc);
>> -		goto out_debug_unreg;
>> +		goto out_gib_destroy;
>>   	}
>>   	return 0;
>>   
>> +out_gib_destroy:
>> +	kvm_s390_gib_destroy();
>>   out_debug_unreg:
>>   	debug_unregister(kvm_s390_dbf);
>>   	return rc;
Cornelia Huck Dec. 3, 2018, 10:29 a.m. UTC | #3
On Mon, 3 Dec 2018 11:09:37 +0100
Michael Mueller <mimu@linux.ibm.com> wrote:

> On 03.12.18 10:50, Cornelia Huck wrote:
> > On Fri, 30 Nov 2018 15:32:15 +0100
> > Michael Mueller <mimu@linux.ibm.com> wrote:
> >  
> >> By initializing the GIB, it will be used by the kvm host.
> >>
> >> Signed-off-by: Michael Mueller <mimu@linux.ibm.com>
> >> ---
> >>   Documentation/kmsg/s390/kvm | 12 ++++++++++++
> >>   arch/s390/kvm/kvm-s390.c    | 10 +++++++++-
> >>   2 files changed, 21 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/Documentation/kmsg/s390/kvm b/Documentation/kmsg/s390/kvm
> >> index 76ffe2012254..6908476a54f1 100644
> >> --- a/Documentation/kmsg/s390/kvm
> >> +++ b/Documentation/kmsg/s390/kvm
> >> @@ -10,3 +10,15 @@
> >>    * If this problem persists after a reload of the kvm kernel module, gather
> >>    * Linux debug data and contact your support organization.
> >>    */
> >> +
> >> +/*?
> >> + * Text: "Failed to initialize GIB rc=%d\n"
> >> + * Severity: Error
> >> + * Parameter:
> >> + *   @1: return code of the GIB initialization call
> >> + * Description:
> >> + * The initialization if the GIB (Guest Information Block) was not successful.
> >> + * User action:
> >> + * If this problem persists after a reload of the kvm kernel module, gather
> >> + * Linux debug data and contact your support organization.
> >> + */  
> > This does not exist upstream. Wrong branch?  
> 
> No, not the wrong branch, wrong file. These are the very first kmsgs for 
> kvm and
> it turns out that we defined
> 
> #define KMSG_COMPONENT "kvm-s390"
> 
> as the location.

The upstream s390 features branch does not contain a
Documentation/kmsg/ directory. IIRC this was never accepted upstream?
Michael Mueller Dec. 3, 2018, 10:46 a.m. UTC | #4
On 03.12.18 11:29, Cornelia Huck wrote:
> On Mon, 3 Dec 2018 11:09:37 +0100
> Michael Mueller <mimu@linux.ibm.com> wrote:
> 
>> On 03.12.18 10:50, Cornelia Huck wrote:
>>> On Fri, 30 Nov 2018 15:32:15 +0100
>>> Michael Mueller <mimu@linux.ibm.com> wrote:
>>>   
>>>> By initializing the GIB, it will be used by the kvm host.
>>>>
>>>> Signed-off-by: Michael Mueller <mimu@linux.ibm.com>
>>>> ---
>>>>    Documentation/kmsg/s390/kvm | 12 ++++++++++++
>>>>    arch/s390/kvm/kvm-s390.c    | 10 +++++++++-
>>>>    2 files changed, 21 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/Documentation/kmsg/s390/kvm b/Documentation/kmsg/s390/kvm
>>>> index 76ffe2012254..6908476a54f1 100644
>>>> --- a/Documentation/kmsg/s390/kvm
>>>> +++ b/Documentation/kmsg/s390/kvm
>>>> @@ -10,3 +10,15 @@
>>>>     * If this problem persists after a reload of the kvm kernel module, gather
>>>>     * Linux debug data and contact your support organization.
>>>>     */
>>>> +
>>>> +/*?
>>>> + * Text: "Failed to initialize GIB rc=%d\n"
>>>> + * Severity: Error
>>>> + * Parameter:
>>>> + *   @1: return code of the GIB initialization call
>>>> + * Description:
>>>> + * The initialization if the GIB (Guest Information Block) was not successful.
>>>> + * User action:
>>>> + * If this problem persists after a reload of the kvm kernel module, gather
>>>> + * Linux debug data and contact your support organization.
>>>> + */
>>> This does not exist upstream. Wrong branch?
>>
>> No, not the wrong branch, wrong file. These are the very first kmsgs for
>> kvm and
>> it turns out that we defined
>>
>> #define KMSG_COMPONENT "kvm-s390"
>>
>> as the location.
> 
> The upstream s390 features branch does not contain a
> Documentation/kmsg/ directory. IIRC this was never accepted upstream?

I wasn't aware of that but see it now! So the patch has to be broken
up...

>
diff mbox series

Patch

diff --git a/Documentation/kmsg/s390/kvm b/Documentation/kmsg/s390/kvm
index 76ffe2012254..6908476a54f1 100644
--- a/Documentation/kmsg/s390/kvm
+++ b/Documentation/kmsg/s390/kvm
@@ -10,3 +10,15 @@ 
  * If this problem persists after a reload of the kvm kernel module, gather
  * Linux debug data and contact your support organization.
  */
+
+/*?
+ * Text: "Failed to initialize GIB rc=%d\n"
+ * Severity: Error
+ * Parameter:
+ *   @1: return code of the GIB initialization call
+ * Description:
+ * The initialization if the GIB (Guest Information Block) was not successful.
+ * User action:
+ * If this problem persists after a reload of the kvm kernel module, gather
+ * Linux debug data and contact your support organization.
+ */
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 2d10e175862c..5f068f3942da 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -428,16 +428,24 @@  int kvm_arch_init(void *opaque)
 		goto out_debug_unreg;
 	}
 
+	rc = kvm_s390_gib_init(GAL_ISC);
+	if (rc) {
+		pr_err("Failed to initialize GIB rc=%d\n", rc);
+		goto out_debug_unreg;
+	}
+
 	kvm_s390_cpu_feat_init();
 
 	/* Register floating interrupt controller interface. */
 	rc = kvm_register_device_ops(&kvm_flic_ops, KVM_DEV_TYPE_FLIC);
 	if (rc) {
 		pr_err("Failed to register FLIC rc=%d\n", rc);
-		goto out_debug_unreg;
+		goto out_gib_destroy;
 	}
 	return 0;
 
+out_gib_destroy:
+	kvm_s390_gib_destroy();
 out_debug_unreg:
 	debug_unregister(kvm_s390_dbf);
 	return rc;