[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] target-arm: Split DISAS_YIELD from DISAS_WF
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] target-arm: Split DISAS_YIELD from DISAS_WFE |
Date: |
Fri, 26 Jun 2015 18:48:11 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
Am 15.06.2015 um 20:49 schrieb Peter Maydell:
> diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
> index 7fa32c4..5f06ca0 100644
> --- a/target-arm/op_helper.c
> +++ b/target-arm/op_helper.c
> @@ -334,6 +334,18 @@ void HELPER(wfe)(CPUARMState *env)
> cpu_loop_exit(cs);
> }
>
> +void HELPER(yield)(CPUARMState *env)
> +{
> + CPUState *cs = CPU(arm_env_get_cpu(env));
I'd appreciate if you could split this into two lines when applying.
No respin needed for that.
> +
> + /* This is a non-trappable hint instruction, so semantically
> + * different from WFE even though we currently implement it
> + * identically. Yield control back to the top level loop.
> + */
> + cs->exception_index = EXCP_YIELD;
> + cpu_loop_exit(cs);
> +}
> +
> /* Raise an internal-to-QEMU exception. This is limited to only
> * those EXCP values which are special cases for QEMU to interrupt
> * execution and not to be used for exceptions which are passed to
[snip]
Looks fine otherwise.
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)