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 New
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(-)

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