qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target-arm: Correct conversion of Thumb Neon dp


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] target-arm: Correct conversion of Thumb Neon dp encodings into ARM
Date: Sun, 20 Feb 2011 17:31:00 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

On Fri, Feb 11, 2011 at 01:35:25PM +0000, Peter Maydell wrote:
> From: Juha Riihimäki <address@hidden>
> 
> We handle Thumb Neon data processing instructions by converting them
> into the equivalent ARM encoding, as the two are very close. However
> the ARM encoding should have bit 28 set, not clear. This wasn't causing
> any problems because we don't actually look at that bit during decode;
> however it is better to do the conversion correctly to avoid problems
> later if we add checks to UNDEF on SBZ/SBO bits.
> 
> Signed-off-by: Juha Riihimäki <address@hidden>
> Reviewed-by: Peter Maydell <address@hidden>
> ---
>  target-arm/translate.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

Thanks, applied.

> diff --git a/target-arm/translate.c b/target-arm/translate.c
> index 3087a5d..793fd59 100644
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -8011,7 +8011,7 @@ static int disas_thumb2_insn(CPUState *env, 
> DisasContext *s, uint16_t insn_hw1)
>          /* Coprocessor.  */
>          if (((insn >> 24) & 3) == 3) {
>              /* Translate into the equivalent ARM encoding.  */
> -            insn = (insn & 0xe2ffffff) | ((insn & (1 << 28)) >> 4);
> +            insn = (insn & 0xe2ffffff) | ((insn & (1 << 28)) >> 4) | (1 << 
> 28);
>              if (disas_neon_data_insn(env, s, insn))
>                  goto illegal_op;
>          } else {
> -- 
> 1.7.1
> 
> 
> 

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]