[Top][All Lists]
[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