OSDN Git Service

parisc: Enable TOC (transfer of contents) feature unconditionally
authorHelge Deller <deller@gmx.de>
Fri, 7 Jan 2022 13:05:11 +0000 (14:05 +0100)
committerHelge Deller <deller@gmx.de>
Tue, 11 Jan 2022 10:57:37 +0000 (11:57 +0100)
commitd6ab9fc74513ae6501afcdae2547334a03b9a5c9
treef0132160962fd195b75515e5ba0a5ef266085b6c
parent6968e707d371ef80511448c6771daf445b4a5cf5
parisc: Enable TOC (transfer of contents) feature unconditionally

Before this patch, the TOC code used a pre-allocated stack of 16kb for
each possible CPU. That space overhead was the reason why the TOC
feature wasn't enabled by default for 32-bit kernels.

This patch rewrites the TOC code to use a per-cpu stack. That way we use
much less memory now and as such we enable the TOC feature by default on
all kernels.

Additionally the dump of the registers and the stacktrace wasn't
serialized, which led to multiple CPUs printing the stack backtrace at
once which rendered the output unreadable.
Now the backtraces are nicely serialized by a lock.

Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/Kconfig
arch/parisc/kernel/Makefile
arch/parisc/kernel/asm-offsets.c
arch/parisc/kernel/toc.c
arch/parisc/kernel/toc_asm.S