linux/arch/xtensa/kernel
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
..
.gitignore xtensa: tell git to ignore generated files 2013-06-05 10:14:19 -07:00
align.S xtensa: keep a3 and excsave1 on entry to exception handlers 2013-09-06 09:47:41 -07:00
asm-offsets.c xtensa: add support for TLS 2013-02-23 19:35:57 -08:00
coprocessor.S xtensa: keep a3 and excsave1 on entry to exception handlers 2013-09-06 09:47:41 -07:00
entry.S xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS 2014-08-14 11:59:16 +04:00
head.S xtensa: implement CPU hotplug 2014-01-14 10:19:59 -08:00
irq.c xtensa: Use irq_set_affinity instead of homebrewn code 2014-03-04 17:37:55 +01:00
Makefile xtensa: add SMP support 2014-01-14 10:19:58 -08:00
mcount.S xtensa: add static function tracer support 2013-07-08 01:18:57 -07:00
module.c xtensa: clean up files to make them code-style compliant 2012-12-18 21:10:25 -08:00
mxhead.S xtensa: add SMP support 2014-01-14 10:19:58 -08:00
pci-dma.c xtensa: fix address checks in dma_{alloc,free}_coherent 2014-08-14 11:59:14 +04:00
pci.c xtensa: fix section mismatch in pcibios_fixup_bus 2013-06-05 10:14:22 -07:00
platform.c xtensa: cleanup ccount frequency tracking 2013-07-08 01:11:37 -07:00
process.c xtensa: Use generic idle loop 2013-04-08 17:39:29 +02:00
ptrace.c xtensa: add support for TLS 2013-02-23 19:35:57 -08:00
setup.c Merge branch 'dt-bus-name' into for-next 2014-05-13 18:34:35 -05:00
signal.c xtensa: don't use alternate signal stack on threads 2013-10-15 13:39:16 -07:00
smp.c xtensa: optimize local_flush_tlb_kernel_range 2014-04-06 21:29:17 +04:00
stacktrace.c xtensa: provide custom CALLER_ADDR* implementations 2013-05-09 01:07:10 -07:00
syscall.c xtensa: avoid mmap cache aliasing 2013-02-23 19:12:53 -08:00
time.c xtensa: export ccount_freq 2014-01-19 20:00:48 +04:00
traps.c xtensa: implement CPU hotplug 2014-01-14 10:19:59 -08:00
vectors.S xtensa: add fixup for double exception raised in window overflow 2014-06-09 04:46:00 +04:00
vmlinux.lds.S xtensa: add fixup for double exception raised in window overflow 2014-06-09 04:46:00 +04:00
xtensa_ksyms.c xtensa: export __{invalidate,flush}_dcache_range 2014-04-02 01:35:50 +04:00