diff mbox series

[v2,04/12] linux-user/sparc: Use WREG constants in sparc/target_cpu.h

Message ID 20191025113921.9412-5-richard.henderson@linaro.org
State Superseded
Headers show
Series linux-user sparc fixes | expand

Commit Message

Richard Henderson Oct. 25, 2019, 11:39 a.m. UTC
This fixes a naming bug wherein we used "UREG_FP" to access the
stack pointer.  OTOH, the "UREG_FP" constant was also defined
incorrectly such that it *did* reference the stack pointer.

Note that the kernel legitimately uses the name "FP", because it
utilizes the rolled stack window in processing the system call.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 linux-user/sparc/target_cpu.h | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

-- 
2.17.1

Comments

Laurent Vivier Oct. 25, 2019, 12:09 p.m. UTC | #1
Le 25/10/2019 à 13:39, Richard Henderson a écrit :
> This fixes a naming bug wherein we used "UREG_FP" to access the

> stack pointer.  OTOH, the "UREG_FP" constant was also defined

> incorrectly such that it *did* reference the stack pointer.

> 

> Note that the kernel legitimately uses the name "FP", because it

> utilizes the rolled stack window in processing the system call.

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  linux-user/sparc/target_cpu.h | 10 ++--------

>  1 file changed, 2 insertions(+), 8 deletions(-)

> 

> diff --git a/linux-user/sparc/target_cpu.h b/linux-user/sparc/target_cpu.h

> index 1ffc0ae9f2..b30fbc72c4 100644

> --- a/linux-user/sparc/target_cpu.h

> +++ b/linux-user/sparc/target_cpu.h

> @@ -41,15 +41,9 @@ static inline void cpu_set_tls(CPUSPARCState *env, target_ulong newtls)

>      env->gregs[7] = newtls;

>  }

>  

> -#ifndef UREG_I6

> -#define UREG_I6        6

> -#endif

> -#ifndef UREG_FP

> -#define UREG_FP        UREG_I6

> -#endif

> -

>  static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state)

>  {

> -    return state->regwptr[UREG_FP];

> +    return state->regwptr[WREG_SP];

>  }

> +

>  #endif

> 


Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Laurent Vivier Nov. 5, 2019, 9:49 a.m. UTC | #2
Le 25/10/2019 à 13:39, Richard Henderson a écrit :
> This fixes a naming bug wherein we used "UREG_FP" to access the

> stack pointer.  OTOH, the "UREG_FP" constant was also defined

> incorrectly such that it *did* reference the stack pointer.

> 

> Note that the kernel legitimately uses the name "FP", because it

> utilizes the rolled stack window in processing the system call.

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  linux-user/sparc/target_cpu.h | 10 ++--------

>  1 file changed, 2 insertions(+), 8 deletions(-)

> 

> diff --git a/linux-user/sparc/target_cpu.h b/linux-user/sparc/target_cpu.h

> index 1ffc0ae9f2..b30fbc72c4 100644

> --- a/linux-user/sparc/target_cpu.h

> +++ b/linux-user/sparc/target_cpu.h

> @@ -41,15 +41,9 @@ static inline void cpu_set_tls(CPUSPARCState *env, target_ulong newtls)

>      env->gregs[7] = newtls;

>  }

>  

> -#ifndef UREG_I6

> -#define UREG_I6        6

> -#endif

> -#ifndef UREG_FP

> -#define UREG_FP        UREG_I6

> -#endif

> -

>  static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state)

>  {

> -    return state->regwptr[UREG_FP];

> +    return state->regwptr[WREG_SP];

>  }

> +

>  #endif

> 


Applied to my linux-user branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/linux-user/sparc/target_cpu.h b/linux-user/sparc/target_cpu.h
index 1ffc0ae9f2..b30fbc72c4 100644
--- a/linux-user/sparc/target_cpu.h
+++ b/linux-user/sparc/target_cpu.h
@@ -41,15 +41,9 @@  static inline void cpu_set_tls(CPUSPARCState *env, target_ulong newtls)
     env->gregs[7] = newtls;
 }
 
-#ifndef UREG_I6
-#define UREG_I6        6
-#endif
-#ifndef UREG_FP
-#define UREG_FP        UREG_I6
-#endif
-
 static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state)
 {
-    return state->regwptr[UREG_FP];
+    return state->regwptr[WREG_SP];
 }
+
 #endif