Patchwork kvm: ppc: Fix breakage of kvm_arch_pre_run/process_irqchip_events

login
register
mail settings
Submitter Jan Kiszka
Date Feb. 17, 2011, 9:01 p.m.
Message ID <4D5D8C92.1080901@web.de>
Download mbox | patch
Permalink /patch/83486/
State New
Headers show

Comments

Jan Kiszka - Feb. 17, 2011, 9:01 p.m.
On 2011-02-07 12:19, Jan Kiszka wrote:
> We do not check them, and the only arch with non-empty implementations
> always returns 0 (this is also true for qemu-kvm).
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> CC: Alexander Graf <agraf@suse.de>
> ---
>  kvm.h              |    5 ++---
>  target-i386/kvm.c  |    8 ++------
>  target-ppc/kvm.c   |    6 ++----
>  target-s390x/kvm.c |    6 ++----
>  4 files changed, 8 insertions(+), 17 deletions(-)
> 

...

> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
> index 93ecc57..bd4012a 100644
> --- a/target-ppc/kvm.c
> +++ b/target-ppc/kvm.c
> @@ -256,14 +256,12 @@ int kvm_arch_pre_run(CPUState *env, struct kvm_run *run)
>      return 0;
>  }
>  
> -int kvm_arch_post_run(CPUState *env, struct kvm_run *run)
> +void kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>  {
> -    return 0;
>  }
>  
> -int kvm_arch_process_irqchip_events(CPUState *env)
> +void kvm_arch_process_irqchip_events(CPUState *env)
>  {
> -    return 0;
>  }

Oops. Do we already have a built-bot for KVM-enabled PPC (and s390)
targets somewhere?

Jan

-------8<----------

From: Jan Kiszka <jan.kiszka@siemens.com>

Commit 7a39fe5882 failed to convert the right arch function.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 target-ppc/kvm.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
Alexander Graf - March 11, 2011, 5:55 a.m.
On 17.02.2011, at 22:01, Jan Kiszka wrote:

> On 2011-02-07 12:19, Jan Kiszka wrote:
>> We do not check them, and the only arch with non-empty implementations
>> always returns 0 (this is also true for qemu-kvm).
>> 
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> CC: Alexander Graf <agraf@suse.de>
>> ---
>> kvm.h              |    5 ++---
>> target-i386/kvm.c  |    8 ++------
>> target-ppc/kvm.c   |    6 ++----
>> target-s390x/kvm.c |    6 ++----
>> 4 files changed, 8 insertions(+), 17 deletions(-)
>> 
> 
> ...
> 
>> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
>> index 93ecc57..bd4012a 100644
>> --- a/target-ppc/kvm.c
>> +++ b/target-ppc/kvm.c
>> @@ -256,14 +256,12 @@ int kvm_arch_pre_run(CPUState *env, struct kvm_run *run)
>>     return 0;
>> }
>> 
>> -int kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>> +void kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>> {
>> -    return 0;
>> }
>> 
>> -int kvm_arch_process_irqchip_events(CPUState *env)
>> +void kvm_arch_process_irqchip_events(CPUState *env)
>> {
>> -    return 0;
>> }
> 
> Oops. Do we already have a built-bot for KVM-enabled PPC (and s390)
> targets somewhere?

Just before leaving for vacation I prepared a machine for each and gave stefan access to them. Looks like they're not officially running though - will try to look at this asap.


Alex
Stefan Hajnoczi - March 11, 2011, 6:26 a.m.
On Fri, Mar 11, 2011 at 5:55 AM, Alexander Graf <agraf@suse.de> wrote:
>
> On 17.02.2011, at 22:01, Jan Kiszka wrote:
>
>> On 2011-02-07 12:19, Jan Kiszka wrote:
>>> We do not check them, and the only arch with non-empty implementations
>>> always returns 0 (this is also true for qemu-kvm).
>>>
>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>>> CC: Alexander Graf <agraf@suse.de>
>>> ---
>>> kvm.h              |    5 ++---
>>> target-i386/kvm.c  |    8 ++------
>>> target-ppc/kvm.c   |    6 ++----
>>> target-s390x/kvm.c |    6 ++----
>>> 4 files changed, 8 insertions(+), 17 deletions(-)
>>>
>>
>> ...
>>
>>> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
>>> index 93ecc57..bd4012a 100644
>>> --- a/target-ppc/kvm.c
>>> +++ b/target-ppc/kvm.c
>>> @@ -256,14 +256,12 @@ int kvm_arch_pre_run(CPUState *env, struct kvm_run *run)
>>>     return 0;
>>> }
>>>
>>> -int kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>>> +void kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>>> {
>>> -    return 0;
>>> }
>>>
>>> -int kvm_arch_process_irqchip_events(CPUState *env)
>>> +void kvm_arch_process_irqchip_events(CPUState *env)
>>> {
>>> -    return 0;
>>> }
>>
>> Oops. Do we already have a built-bot for KVM-enabled PPC (and s390)
>> targets somewhere?
>
> Just before leaving for vacation I prepared a machine for each and gave stefan access to them. Looks like they're not officially running though - will try to look at this asap.

They are in the process of being added to the buildbot by Daniel
Gollub.  However, the ppc box is unable to build qemu.git because it
hits ENOMEM while compiling.  I doubled swap size but that didn't fix
the issue so I need to investigate more.  At least s390 should be good
to go soon and I will send an update when it is up and running.

Stefan
Alexander Graf - March 11, 2011, 7:02 a.m.
On 11.03.2011, at 07:26, Stefan Hajnoczi wrote:

> On Fri, Mar 11, 2011 at 5:55 AM, Alexander Graf <agraf@suse.de> wrote:
>> 
>> On 17.02.2011, at 22:01, Jan Kiszka wrote:
>> 
>>> On 2011-02-07 12:19, Jan Kiszka wrote:
>>>> We do not check them, and the only arch with non-empty implementations
>>>> always returns 0 (this is also true for qemu-kvm).
>>>> 
>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>>>> CC: Alexander Graf <agraf@suse.de>
>>>> ---
>>>> kvm.h              |    5 ++---
>>>> target-i386/kvm.c  |    8 ++------
>>>> target-ppc/kvm.c   |    6 ++----
>>>> target-s390x/kvm.c |    6 ++----
>>>> 4 files changed, 8 insertions(+), 17 deletions(-)
>>>> 
>>> 
>>> ...
>>> 
>>>> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
>>>> index 93ecc57..bd4012a 100644
>>>> --- a/target-ppc/kvm.c
>>>> +++ b/target-ppc/kvm.c
>>>> @@ -256,14 +256,12 @@ int kvm_arch_pre_run(CPUState *env, struct kvm_run *run)
>>>>     return 0;
>>>> }
>>>> 
>>>> -int kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>>>> +void kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>>>> {
>>>> -    return 0;
>>>> }
>>>> 
>>>> -int kvm_arch_process_irqchip_events(CPUState *env)
>>>> +void kvm_arch_process_irqchip_events(CPUState *env)
>>>> {
>>>> -    return 0;
>>>> }
>>> 
>>> Oops. Do we already have a built-bot for KVM-enabled PPC (and s390)
>>> targets somewhere?
>> 
>> Just before leaving for vacation I prepared a machine for each and gave stefan access to them. Looks like they're not officially running though - will try to look at this asap.
> 
> They are in the process of being added to the buildbot by Daniel
> Gollub.  However, the ppc box is unable to build qemu.git because it
> hits ENOMEM while compiling.  I doubled swap size but that didn't fix
> the issue so I need to investigate more.  At least s390 should be good

Hrm, yeah. I hit that one too just before I left. Maybe I should just search for another RAM bar :).

> to go soon and I will send an update when it is up and running.

Thanks!


Alex

Patch

diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index bd4012a..3924f4b 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -222,7 +222,7 @@  int kvmppc_set_interrupt(CPUState *env, int irq, int level)
 #define PPC_INPUT_INT PPC6xx_INPUT_INT
 #endif
 
-int kvm_arch_pre_run(CPUState *env, struct kvm_run *run)
+void kvm_arch_pre_run(CPUState *env, struct kvm_run *run)
 {
     int r;
     unsigned irq;
@@ -253,15 +253,15 @@  int kvm_arch_pre_run(CPUState *env, struct kvm_run *run)
     /* We don't know if there are more interrupts pending after this. However,
      * the guest will return to userspace in the course of handling this one
      * anyways, so we will get a chance to deliver the rest. */
-    return 0;
 }
 
 void kvm_arch_post_run(CPUState *env, struct kvm_run *run)
 {
 }
 
-void kvm_arch_process_irqchip_events(CPUState *env)
+int kvm_arch_process_irqchip_events(CPUState *env)
 {
+    return 0;
 }
 
 static int kvmppc_handle_halt(CPUState *env)