Message ID | 20191025113921.9412-5-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | linux-user sparc fixes | expand |
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>
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 --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
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