|
From: | Richard Henderson |
Subject: | Re: [PATCH v2 22/30] bsd-user/arm/target_arch_signal.h: arm set_sigtramp_args |
Date: | Tue, 2 Nov 2021 23:37:19 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 |
On 11/2/21 6:52 PM, Warner Losh wrote:
+ /* + * Low bit indicates whether or not we're entering thumb mode. + */ + cpsr = cpsr_read(env); + if (ka->_sa_handler & 1) { + cpsr |= CPSR_T; + } else { + cpsr &= ~CPSR_T; + } + cpsr_write(env, cpsr, CPSR_T, CPSRWriteByInstr);
Like I said before, you don't need the cpsr_read, because the mask ensures that only CPSR_T will change:
cpsr_write(env, (ka->_sa_handler & 1) * CPSR_T, CPSR_T, CPSRWriteByInstr); Otherwise, Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
[Prev in Thread] | Current Thread | [Next in Thread] |