mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 15:04:27 +08:00
c0e50d4112
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> |
||
---|---|---|
.. | ||
.gitignore | ||
align.S | ||
asm-offsets.c | ||
coprocessor.S | ||
entry.S | ||
head.S | ||
irq.c | ||
Makefile | ||
mcount.S | ||
module.c | ||
mxhead.S | ||
pci-dma.c | ||
pci.c | ||
platform.c | ||
process.c | ||
ptrace.c | ||
setup.c | ||
signal.c | ||
smp.c | ||
stacktrace.c | ||
syscall.c | ||
time.c | ||
traps.c | ||
vectors.S | ||
vmlinux.lds.S | ||
xtensa_ksyms.c |