lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211019051716.4173-1-jcmvbkbc@gmail.com>
Date:   Mon, 18 Oct 2021 22:17:06 -0700
From:   Max Filippov <jcmvbkbc@...il.com>
To:     linux-xtensa@...ux-xtensa.org
Cc:     Chris Zankel <chris@...kel.net>, linux-kernel@...r.kernel.org,
        Max Filippov <jcmvbkbc@...il.com>
Subject: [PATCH 00/10] xtensa: support call0 ABI kernel

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ