This series provides the final bits of support for MSA as far as
userland that isn't a debugger goes. In order to preserve backwards
compatibility it saves the extended vector context after the end of the
sigframe or ucontext, at a fixed offset. A bit set in sigcontext's
sc_used_math field indicates to userland (and to the kernel on
sigreturn) that the extended context is present.

With these final bits in, the presence of MSA support is indicated via a
HWCAP bit that userland may check for.

Paul Burton (16):
  MIPS: remove outdated comments in sigcontext.h
  MIPS: simplify EVA FP context handling code
  MIPS: add offsets to sigcontext FP fields to struct mips_abi
  MIPS: use struct mips_abi offsets to save FP context
  MIPS: move FP usage checks into protected_{save,restore}_fp_context
  MIPS: skip odd double FP registers when copying FP32 sigcontext
  MIPS: use common FP sigcontext code for O32 compat
  MIPS: remove unused {get,put}_sigset functions
  MIPS: indicate FP mode in sigcontext sc_used_math
  MIPS: add definitions for extended context
  MIPS: save MSA extended context around signals
  MIPS: AT_HWCAP aux vector infrastructure
  MIPS: advertise MIPSr6 via HWCAP when appropriate
  MIPS: advertise MSA support via HWCAP when present
  MIPS: require O32 FP64 support for MIPS64 with O32 compat
  MIPS: drop EXPERIMENTAL tag from O32+FP64 & MSA

 arch/mips/Kconfig                       |   5 +-
 arch/mips/include/asm/Kbuild            |   1 -
 arch/mips/include/asm/abi.h             |   4 +
 arch/mips/include/asm/elf.h             |   4 +-
 arch/mips/include/asm/signal.h          |   3 +
 arch/mips/include/uapi/asm/hwcap.h      |   8 +
 arch/mips/include/uapi/asm/sigcontext.h |  19 +-
 arch/mips/include/uapi/asm/ucontext.h   |  65 +++++
 arch/mips/kernel/asm-offsets.c          |  11 -
 arch/mips/kernel/cpu-probe.c            |   7 +
 arch/mips/kernel/r4k_fpu.S              | 372 +++++++++++++-------------
 arch/mips/kernel/signal-common.h        |   9 +
 arch/mips/kernel/signal.c               | 446 ++++++++++++++++++++++++--------
 arch/mips/kernel/signal32.c             | 207 +--------------
 arch/mips/kernel/signal_n32.c           |   6 +-
 15 files changed, 666 insertions(+), 501 deletions(-)
 create mode 100644 arch/mips/include/uapi/asm/hwcap.h
 create mode 100644 arch/mips/include/uapi/asm/ucontext.h

-- 
2.4.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to