Message ID | 20200518143014.20689-1-peter.maydell@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-user/arm/signal.c: Drop TARGET_CONFIG_CPU_32 | expand |
On 5/18/20 7:30 AM, Peter Maydell wrote: > The Arm signal-handling code has some parts ifdeffed with a > TARGET_CONFIG_CPU_32, which is always defined. This is a leftover > from when this code's structure was based on the Linux kernel > signal handling code, where it was intended to support 26-bit > Arm CPUs. The kernel dropped its CONFIG_CPU_32 in kernel commit > 4da8b8208eded0ba21e3 in 2009. > > QEMU has never had 26-bit CPU support and is unlikely to ever > add it; we certainly aren't going to support 26-bit Linux > binaries via linux-user mode. The ifdef is just unhelpful > noise, so remove it entirely. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > Based-on: <20200518142801.20503-1-peter.maydell@linaro.org> > ("[PATCH v2] target/arm: Allow user-mode code to write CPSR.E via MSR") > to avoid a textual conflict. > > linux-user/arm/signal.c | 6 ------ > 1 file changed, 6 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On Mon, 18 May 2020 at 15:30, Peter Maydell <peter.maydell@linaro.org> wrote: > > The Arm signal-handling code has some parts ifdeffed with a > TARGET_CONFIG_CPU_32, which is always defined. This is a leftover > from when this code's structure was based on the Linux kernel > signal handling code, where it was intended to support 26-bit > Arm CPUs. The kernel dropped its CONFIG_CPU_32 in kernel commit > 4da8b8208eded0ba21e3 in 2009. > > QEMU has never had 26-bit CPU support and is unlikely to ever > add it; we certainly aren't going to support 26-bit Linux > binaries via linux-user mode. The ifdef is just unhelpful > noise, so remove it entirely. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- Applied to target-arm.next, thanks. -- PMM
diff --git a/linux-user/arm/signal.c b/linux-user/arm/signal.c index 698985a647e..f21d1535e4d 100644 --- a/linux-user/arm/signal.c +++ b/linux-user/arm/signal.c @@ -126,8 +126,6 @@ struct rt_sigframe_v2 abi_ulong retcode[4]; }; -#define TARGET_CONFIG_CPU_32 1 - /* * For ARM syscalls, we encode the syscall number into the instruction. */ @@ -187,9 +185,7 @@ setup_sigcontext(struct target_sigcontext *sc, /*struct _fpstate *fpstate,*/ __put_user(env->regs[13], &sc->arm_sp); __put_user(env->regs[14], &sc->arm_lr); __put_user(env->regs[15], &sc->arm_pc); -#ifdef TARGET_CONFIG_CPU_32 __put_user(cpsr_read(env), &sc->arm_cpsr); -#endif __put_user(/* current->thread.trap_no */ 0, &sc->trap_no); __put_user(/* current->thread.error_code */ 0, &sc->error_code); @@ -549,11 +545,9 @@ restore_sigcontext(CPUARMState *env, struct target_sigcontext *sc) __get_user(env->regs[13], &sc->arm_sp); __get_user(env->regs[14], &sc->arm_lr); __get_user(env->regs[15], &sc->arm_pc); -#ifdef TARGET_CONFIG_CPU_32 __get_user(cpsr, &sc->arm_cpsr); cpsr_write(env, cpsr, CPSR_USER | CPSR_EXEC, CPSRWriteByInstr); arm_rebuild_hflags(env); -#endif err |= !valid_user_regs(env);
The Arm signal-handling code has some parts ifdeffed with a TARGET_CONFIG_CPU_32, which is always defined. This is a leftover from when this code's structure was based on the Linux kernel signal handling code, where it was intended to support 26-bit Arm CPUs. The kernel dropped its CONFIG_CPU_32 in kernel commit 4da8b8208eded0ba21e3 in 2009. QEMU has never had 26-bit CPU support and is unlikely to ever add it; we certainly aren't going to support 26-bit Linux binaries via linux-user mode. The ifdef is just unhelpful noise, so remove it entirely. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- Based-on: <20200518142801.20503-1-peter.maydell@linaro.org> ("[PATCH v2] target/arm: Allow user-mode code to write CPSR.E via MSR") to avoid a textual conflict. linux-user/arm/signal.c | 6 ------ 1 file changed, 6 deletions(-)