linux/arch/xtensa
Max Filippov 5224712374 xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS
With SMP and a lot of debug options enabled task_struct::thread gets out
of reach of s32i/l32i instructions with base pointing at task_struct,
breaking build with the following messages:

  arch/xtensa/kernel/entry.S: Assembler messages:
  arch/xtensa/kernel/entry.S:1002: Error: operand 3 of 'l32i.n' has invalid value '1048'
  arch/xtensa/kernel/entry.S:1831: Error: operand 3 of 's32i.n' has invalid value '1040'
  arch/xtensa/kernel/entry.S:1832: Error: operand 3 of 's32i.n' has invalid value '1044'

Change base to point to task_struct::thread in such cases.
Don't use a10 in _switch_to to save/restore prev pointer as a2 is not
clobbered.

Cc: stable@vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2014-08-14 11:59:16 +04:00
..
boot xtensa: add support for KC705 2014-04-06 21:32:02 +04:00
configs xtensa: remove orphan MATH_EMULATION symbol 2014-08-14 11:59:12 +04:00
include xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS 2014-08-14 11:59:16 +04:00
kernel xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS 2014-08-14 11:59:16 +04:00
lib xtensa: clean up files to make them code-style compliant 2012-12-18 21:10:25 -08:00
mm xtensa: fix sysmem reservation at the end of existing block 2014-06-09 22:29:12 +04:00
oprofile xtensa: fix oprofile building as module 2013-05-09 01:07:09 -07:00
platforms xtensa: ISS: don't depend on CONFIG_TTY 2014-05-05 09:04:10 -07:00
variants xtensa: fsf: drop nonexistent GPIO32 support 2014-02-21 21:33:40 +04:00
Kconfig xtensa: remove orphan MATH_EMULATION symbol 2014-08-14 11:59:12 +04:00
Kconfig.debug xtensa: check TLB sanity on return to userspace 2013-07-08 01:18:56 -07:00
Makefile xtensa: simplify addition of new core variants 2014-08-14 11:59:08 +04:00