Am 11.03.2014 23:29, schrieb Andreas Färber:
> Am 10.03.2014 01:15, schrieb Andreas Färber:
>> Signed-off-by: Andreas Färber <afaer...@suse.de>
> 
> Needs:
> 
> diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
> index 8434f6e..931536e 100644
> --- a/target-arm/op_helper.c
> +++ b/target-arm/op_helper.c
> @@ -232,10 +232,12 @@ void HELPER(wfi)(CPUARMState *env)
> 
>  void HELPER(wfe)(CPUARMState *env)
>  {
> +    CPUState *cs = CPU(arm_env_get_cpu(env));
> +
>      /* Don't actually halt the CPU, just yield back to top
>       * level loop
>       */
> -    env->exception_index = EXCP_YIELD;
> +    cs->exception_index = EXCP_YIELD;
>      cpu_loop_exit(env);
>  }
> 

Further needs:

diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index 32e7a8c..81ec959 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -1178,7 +1178,7 @@ static int kvmppc_handle_halt(PowerPCCPU *cpu)

     if (!(cs->interrupt_request & CPU_INTERRUPT_HARD) && (msr_ee)) {
         cs->halted = 1;
-        env->exception_index = EXCP_HLT;
+        cs->exception_index = EXCP_HLT;
     }

     return 0;

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to