public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] xtensa: support call0 ABI kernel
@ 2021-10-19  5:17 Max Filippov
  2021-10-19  5:17 ` [PATCH 01/10] xtensa: move _SimulateUserKernelVectorException out of WindowVectors Max Filippov
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Max Filippov @ 2021-10-19  5:17 UTC (permalink / raw)
  To: linux-xtensa; +Cc: Chris Zankel, linux-kernel, Max Filippov

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-10-19  5:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-19  5:17 [PATCH 00/10] xtensa: support call0 ABI kernel Max Filippov
2021-10-19  5:17 ` [PATCH 01/10] xtensa: move _SimulateUserKernelVectorException out of WindowVectors Max Filippov
2021-10-19  5:17 ` [PATCH 02/10] xtensa: use a14 instead of a15 in inline assembly Max Filippov
2021-10-19  5:17 ` [PATCH 03/10] xtensa: don't use a12 in strncpy_user Max Filippov
2021-10-19  5:17 ` [PATCH 04/10] xtensa: don't use a12 in __xtensa_copy_user in call0 ABI Max Filippov
2021-10-19  5:17 ` [PATCH 05/10] xtensa: definitions for " Max Filippov
2021-10-19  5:17 ` [PATCH 06/10] xtensa: implement call0 ABI support in assembly Max Filippov
2021-10-19  5:17 ` [PATCH 07/10] xtensa: use register window specific opcodes only when present Max Filippov
2021-10-19  5:17 ` [PATCH 08/10] xtensa: only build windowed register support code when needed Max Filippov
2021-10-19  5:17 ` [PATCH 09/10] xtensa: remove unused variable wmask Max Filippov
2021-10-19  5:17 ` [PATCH 10/10] xtensa: move section symbols to asm/sections.h Max Filippov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox