Messages in this thread | | | From | Max Filippov <> | Subject | [PATCH 00/10] xtensa: support call0 ABI kernel | Date | Mon, 18 Oct 2021 22:17:06 -0700 |
| |
Hello,
this series adds support for building kernel with call0 ABI. This extends linux support to xtensa cores without windowed registers option. call0 ABI kernel still supports windowed ABI userspace on cores with windowed registers. In this case kernel entry from the userspace saves active register windows as usual.
Max Filippov (10): xtensa: move _SimulateUserKernelVectorException out of WindowVectors xtensa: use a14 instead of a15 in inline assembly xtensa: don't use a12 in strncpy_user xtensa: don't use a12 in __xtensa_copy_user in call0 ABI xtensa: definitions for call0 ABI xtensa: implement call0 ABI support in assembly xtensa: use register window specific opcodes only when present xtensa: only build windowed register support code when needed xtensa: remove unused variable wmask xtensa: move section symbols to asm/sections.h
arch/xtensa/boot/boot-elf/bootstrap.S | 2 + arch/xtensa/boot/boot-redboot/bootstrap.S | 72 ++++---- arch/xtensa/include/asm/asmmacro.h | 65 +++++++ arch/xtensa/include/asm/atomic.h | 26 +-- arch/xtensa/include/asm/cmpxchg.h | 16 +- arch/xtensa/include/asm/core.h | 11 ++ arch/xtensa/include/asm/processor.h | 32 +++- arch/xtensa/include/asm/sections.h | 41 ++++ arch/xtensa/include/asm/traps.h | 2 + arch/xtensa/kernel/align.S | 2 + arch/xtensa/kernel/entry.S | 216 ++++++++++++++-------- arch/xtensa/kernel/head.S | 24 ++- arch/xtensa/kernel/mcount.S | 38 +++- arch/xtensa/kernel/process.c | 27 ++- arch/xtensa/kernel/setup.c | 102 ++++------ arch/xtensa/kernel/signal.c | 12 +- arch/xtensa/kernel/traps.c | 6 +- arch/xtensa/kernel/vectors.S | 55 +++--- arch/xtensa/kernel/vmlinux.lds.S | 12 +- arch/xtensa/lib/strncpy_user.S | 17 +- arch/xtensa/lib/usercopy.S | 28 ++- 21 files changed, 541 insertions(+), 265 deletions(-) create mode 100644 arch/xtensa/include/asm/sections.h
-- 2.20.1
| |