Patchwork arm: make RFE usable with any register

login
register
mail settings
Submitter Adam Lackorzynski
Date March 2, 2010, 12:17 a.m.
Message ID <20100302001735.GB15814@os.inf.tu-dresden.de>
Download mbox | patch
Permalink /patch/46620/
State New
Headers show

Comments

Adam Lackorzynski - March 2, 2010, 12:17 a.m.
The rfe instruction can be used with any register, not just sp. Adjust the
condition check accordingly.

Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
---
 target-arm/translate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Aurelien Jarno - March 13, 2010, 11:01 a.m.
On Tue, Mar 02, 2010 at 01:17:35AM +0100, Adam Lackorzynski wrote:
> The rfe instruction can be used with any register, not just sp. Adjust the
> condition check accordingly.
> 
> Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>

Thanks, applied.

> ---
>  target-arm/translate.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/target-arm/translate.c b/target-arm/translate.c
> index 0c650b2..cdfe946 100644
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -6132,7 +6132,7 @@ static void disas_arm_insn(CPUState * env, DisasContext *s)
>                  dead_tmp(addr);
>              }
>              return;
> -        } else if ((insn & 0x0e5fffe0) == 0x081d0a00) {
> +        } else if ((insn & 0x0e50ffe0) == 0x08100a00) {
>              /* rfe */
>              int32_t offset;
>              if (IS_USER(s))
> -- 
> 1.7.0
> 
> Adam
> -- 
> Adam                 adam@os.inf.tu-dresden.de
>   Lackorzynski         http://os.inf.tu-dresden.de/~adam/
> 
> 
>

Patch

diff --git a/target-arm/translate.c b/target-arm/translate.c
index 0c650b2..cdfe946 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -6132,7 +6132,7 @@  static void disas_arm_insn(CPUState * env, DisasContext *s)
                 dead_tmp(addr);
             }
             return;
-        } else if ((insn & 0x0e5fffe0) == 0x081d0a00) {
+        } else if ((insn & 0x0e50ffe0) == 0x08100a00) {
             /* rfe */
             int32_t offset;
             if (IS_USER(s))