All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] hw/ppc/spapr: Halt CPU when powering off via RTAS call
@ 2016-02-17 18:23 Thomas Huth
  2016-02-17 18:52 ` Andrew Jones
  2016-02-18  0:08 ` David Gibson
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Huth @ 2016-02-17 18:23 UTC (permalink / raw)
  To: qemu-ppc, david; +Cc: drjones, qemu-devel, agraf

The LoPAPR specification defines the following for the RTAS
power-off call: "On successful operation, does not return".
However, the implementation in QEMU currently returns and runs
the guest CPU again for some more cycles. This caused some
trouble with the new ppc implementation of the kvm-unit-tests
recently. So let's make sure that the QEMU implementation
follows the spec, thus stop the CPU to make sure that the
RTAS call does not return to the guest anymore.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/ppc/spapr_rtas.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index 07ad672..b7c5ebd 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -113,6 +113,7 @@ static void rtas_power_off(PowerPCCPU *cpu, sPAPRMachineState *spapr,
         return;
     }
     qemu_system_shutdown_request();
+    cpu_stop_current();
     rtas_st(rets, 0, RTAS_OUT_SUCCESS);
 }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/ppc/spapr: Halt CPU when powering off via RTAS call
  2016-02-17 18:23 [Qemu-devel] [PATCH] hw/ppc/spapr: Halt CPU when powering off via RTAS call Thomas Huth
@ 2016-02-17 18:52 ` Andrew Jones
  2016-02-18  0:08 ` David Gibson
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Jones @ 2016-02-17 18:52 UTC (permalink / raw)
  To: Thomas Huth; +Cc: agraf, qemu-ppc, qemu-devel, david

On Wed, Feb 17, 2016 at 07:23:19PM +0100, Thomas Huth wrote:
> The LoPAPR specification defines the following for the RTAS
> power-off call: "On successful operation, does not return".
> However, the implementation in QEMU currently returns and runs
> the guest CPU again for some more cycles. This caused some
> trouble with the new ppc implementation of the kvm-unit-tests
> recently. So let's make sure that the QEMU implementation
> follows the spec, thus stop the CPU to make sure that the
> RTAS call does not return to the guest anymore.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Tested-by: Andrew Jones <drjones@redhat.com>

(using the new, shiny kvm-unit-tests :-)

> ---
>  hw/ppc/spapr_rtas.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
> index 07ad672..b7c5ebd 100644
> --- a/hw/ppc/spapr_rtas.c
> +++ b/hw/ppc/spapr_rtas.c
> @@ -113,6 +113,7 @@ static void rtas_power_off(PowerPCCPU *cpu, sPAPRMachineState *spapr,
>          return;
>      }
>      qemu_system_shutdown_request();
> +    cpu_stop_current();
>      rtas_st(rets, 0, RTAS_OUT_SUCCESS);
>  }
>  
> -- 
> 1.8.3.1
> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/ppc/spapr: Halt CPU when powering off via RTAS call
  2016-02-17 18:23 [Qemu-devel] [PATCH] hw/ppc/spapr: Halt CPU when powering off via RTAS call Thomas Huth
  2016-02-17 18:52 ` Andrew Jones
@ 2016-02-18  0:08 ` David Gibson
  1 sibling, 0 replies; 3+ messages in thread
From: David Gibson @ 2016-02-18  0:08 UTC (permalink / raw)
  To: Thomas Huth; +Cc: drjones, qemu-ppc, qemu-devel, agraf

[-- Attachment #1: Type: text/plain, Size: 1311 bytes --]

On Wed, Feb 17, 2016 at 07:23:19PM +0100, Thomas Huth wrote:
> The LoPAPR specification defines the following for the RTAS
> power-off call: "On successful operation, does not return".
> However, the implementation in QEMU currently returns and runs
> the guest CPU again for some more cycles. This caused some
> trouble with the new ppc implementation of the kvm-unit-tests
> recently. So let's make sure that the QEMU implementation
> follows the spec, thus stop the CPU to make sure that the
> RTAS call does not return to the guest anymore.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Applied to ppc-for-2.6, thanks.

> ---
>  hw/ppc/spapr_rtas.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
> index 07ad672..b7c5ebd 100644
> --- a/hw/ppc/spapr_rtas.c
> +++ b/hw/ppc/spapr_rtas.c
> @@ -113,6 +113,7 @@ static void rtas_power_off(PowerPCCPU *cpu, sPAPRMachineState *spapr,
>          return;
>      }
>      qemu_system_shutdown_request();
> +    cpu_stop_current();
>      rtas_st(rets, 0, RTAS_OUT_SUCCESS);
>  }
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-02-18  0:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-17 18:23 [Qemu-devel] [PATCH] hw/ppc/spapr: Halt CPU when powering off via RTAS call Thomas Huth
2016-02-17 18:52 ` Andrew Jones
2016-02-18  0:08 ` David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.