linux/arch/xtensa/kernel
Chris Zankel c0e50d4112 xtensa: fix fast_syscall_spill_registers
The original implementation could clobber registers under certain conditions.

The Xtensa processor architecture uses windowed registers and the original
implementation was using a4 as a temporary register, which under certain
conditions could be register a0 of the oldest window frame, and didn't always
restore the content correctly.

By moving the _spill_registers routine inside the fast system call, it frees
up one more register (the return address is not required anymore) for the
spill routine.

Signed-off-by: Chris Zankel <chris@zankel.net>
2014-01-29 13:47:26 -08: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 fast_syscall_spill_registers 2014-01-28 22:09:51 -08:00
head.S xtensa: implement CPU hotplug 2014-01-14 10:19:59 -08:00
irq.c xtensa: implement CPU hotplug 2014-01-14 10:19:59 -08: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: add missing symbol exports 2012-10-03 15:12:52 -07: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 xtensa: remap io area defined in device tree 2014-01-15 00:25:14 +04:00
signal.c xtensa: don't use alternate signal stack on threads 2013-10-15 13:39:16 -07:00
smp.c xtensa: Enable irqs after cpu is set online 2014-01-15 00:12:41 +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: fix fast_syscall_spill_registers 2014-01-29 13:47:26 -08:00
vmlinux.lds.S xtensa: add SMP support 2014-01-14 10:19:58 -08:00
xtensa_ksyms.c xtensa: fix fast_syscall_spill_registers 2014-01-29 13:47:26 -08:00