linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 00/23] powerpc/book3s/64/pkeys: Simplify the code
@ 2020-07-09  3:29 Aneesh Kumar K.V
  2020-07-09  3:29 ` [PATCH v6 01/23] powerpc/book3s64/pkeys: Use PVR check instead of cpu feature Aneesh Kumar K.V
                   ` (23 more replies)
  0 siblings, 24 replies; 27+ messages in thread
From: Aneesh Kumar K.V @ 2020-07-09  3:29 UTC (permalink / raw)
  To: linuxppc-dev, mpe; +Cc: Aneesh Kumar K.V, linuxram, bauerman

This patch series update the pkey subsystem with more documentation and
rename variables so that it is easy to follow the code. We drop the changes
to support KUAP/KUEP with hash translation in this update. The changes
are adding 200 cycles to null syscalls benchmark and I want to look at that
closely before requesting a merge. The rest of the patches are included
in this series. This should avoid having to carry a large patchset across
the upstream merge. Some of the changes in here make the hash KUEP/KUAP
addition simpler.

Changes from v5:
* Address review feedback.
* Dropped patches moving kup to generic name.
* Dropped static key changes related to execute only support.

Changes from v4:
* Drop hash KUAP/KUEP changes.

Changes from v3:
* Fix build error reported by kernel test robot <lkp@intel.com>

Changes from v2:
* Rebase to the latest kernel.
* Fixed a bug with disabling KUEP/KUAP on kernel command line
* Added a patch to make kup key dynamic.

Changes from v1:
* Rebased on latest kernel

Aneesh Kumar K.V (23):
  powerpc/book3s64/pkeys: Use PVR check instead of cpu feature
  powerpc/book3s64/pkeys: Fixup bit numbering
  powerpc/book3s64/pkeys: pkeys are supported only on hash on book3s.
  powerpc/book3s64/pkeys: Move pkey related bits in the linux page table
  powerpc/book3s64/pkeys: Explain key 1 reservation details
  powerpc/book3s64/pkeys: Simplify the key initialization
  powerpc/book3s64/pkeys: Prevent key 1 modification from userspace.
  powerpc/book3s64/pkeys: kill cpu feature key CPU_FTR_PKEY
  powerpc/book3s64/pkeys: Simplify pkey disable branch
  powerpc/book3s64/pkeys: Convert pkey_total to num_pkey
  powerpc/book3s64/pkeys: Make initial_allocation_mask static
  powerpc/book3s64/pkeys: Mark all the pkeys above max pkey as reserved
  powerpc/book3s64/pkeys: Add MMU_FTR_PKEY
  powerpc/book3s64/kuep: Add MMU_FTR_KUEP
  powerpc/book3s64/pkeys: Use pkey_execute_disable_supported
  powerpc/book3s64/pkeys: Use MMU_FTR_PKEY instead of pkey_disabled
    static key
  powerpc/book3s64/keys: Print information during boot.
  powerpc/book3s64/keys/kuap: Reset AMR/IAMR values on kexec
  powerpc/book3s64/kuap: Move UAMOR setup to key init function
  powerpc/selftest/ptrave-pkey: Rename variables to make it easier to
    follow code
  powerpc/selftest/ptrace-pkey: Update the test to mark an invalid pkey
    correctly
  powerpc/selftest/ptrace-pkey: Don't update expected UAMOR value
  powerpc/book3s64/pkeys: Remove is_pkey_enabled()

 arch/powerpc/include/asm/book3s/64/hash-4k.h  |  21 +-
 arch/powerpc/include/asm/book3s/64/hash-64k.h |  12 +-
 .../powerpc/include/asm/book3s/64/hash-pkey.h |  32 ++
 arch/powerpc/include/asm/book3s/64/kexec.h    |  23 ++
 arch/powerpc/include/asm/book3s/64/mmu-hash.h |   8 +-
 arch/powerpc/include/asm/book3s/64/mmu.h      |   6 +
 arch/powerpc/include/asm/book3s/64/pgtable.h  |  17 +-
 arch/powerpc/include/asm/book3s/64/pkeys.h    |  27 ++
 arch/powerpc/include/asm/cputable.h           |  13 +-
 arch/powerpc/include/asm/kexec.h              |  12 +
 arch/powerpc/include/asm/mmu.h                |  17 +
 arch/powerpc/include/asm/pkeys.h              |  65 +---
 arch/powerpc/include/asm/processor.h          |   1 -
 arch/powerpc/kernel/dt_cpu_ftrs.c             |   6 -
 arch/powerpc/kernel/misc_64.S                 |  14 -
 arch/powerpc/kernel/prom.c                    |   5 +
 arch/powerpc/kernel/ptrace/ptrace-view.c      |  27 +-
 arch/powerpc/kernel/smp.c                     |   1 +
 arch/powerpc/kexec/core_64.c                  |   2 +
 arch/powerpc/mm/book3s64/hash_utils.c         |   4 +
 arch/powerpc/mm/book3s64/pgtable.c            |   3 +
 arch/powerpc/mm/book3s64/pkeys.c              | 294 ++++++++++--------
 arch/powerpc/mm/book3s64/radix_pgtable.c      |   8 +-
 .../selftests/powerpc/ptrace/ptrace-pkey.c    |  55 ++--
 24 files changed, 404 insertions(+), 269 deletions(-)
 create mode 100644 arch/powerpc/include/asm/book3s/64/hash-pkey.h
 create mode 100644 arch/powerpc/include/asm/book3s/64/kexec.h
 create mode 100644 arch/powerpc/include/asm/book3s/64/pkeys.h

-- 
2.26.2


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

end of thread, other threads:[~2020-07-24 14:17 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-09  3:29 [PATCH v6 00/23] powerpc/book3s/64/pkeys: Simplify the code Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 01/23] powerpc/book3s64/pkeys: Use PVR check instead of cpu feature Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 02/23] powerpc/book3s64/pkeys: Fixup bit numbering Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 03/23] powerpc/book3s64/pkeys: pkeys are supported only on hash on book3s Aneesh Kumar K.V
2020-07-20  6:05   ` Michael Ellerman
2020-07-20  6:15     ` Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 04/23] powerpc/book3s64/pkeys: Move pkey related bits in the linux page table Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 05/23] powerpc/book3s64/pkeys: Explain key 1 reservation details Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 06/23] powerpc/book3s64/pkeys: Simplify the key initialization Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 07/23] powerpc/book3s64/pkeys: Prevent key 1 modification from userspace Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 08/23] powerpc/book3s64/pkeys: kill cpu feature key CPU_FTR_PKEY Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 09/23] powerpc/book3s64/pkeys: Simplify pkey disable branch Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 10/23] powerpc/book3s64/pkeys: Convert pkey_total to num_pkey Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 11/23] powerpc/book3s64/pkeys: Make initial_allocation_mask static Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 12/23] powerpc/book3s64/pkeys: Mark all the pkeys above max pkey as reserved Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 13/23] powerpc/book3s64/pkeys: Add MMU_FTR_PKEY Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 14/23] powerpc/book3s64/kuep: Add MMU_FTR_KUEP Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 15/23] powerpc/book3s64/pkeys: Use pkey_execute_disable_supported Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 16/23] powerpc/book3s64/pkeys: Use MMU_FTR_PKEY instead of pkey_disabled static key Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 17/23] powerpc/book3s64/keys: Print information during boot Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 18/23] powerpc/book3s64/keys/kuap: Reset AMR/IAMR values on kexec Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 19/23] powerpc/book3s64/kuap: Move UAMOR setup to key init function Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 20/23] powerpc/selftest/ptrave-pkey: Rename variables to make it easier to follow code Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 21/23] powerpc/selftest/ptrace-pkey: Update the test to mark an invalid pkey correctly Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 22/23] powerpc/selftest/ptrace-pkey: Don't update expected UAMOR value Aneesh Kumar K.V
2020-07-09  3:29 ` [PATCH v6 23/23] powerpc/book3s64/pkeys: Remove is_pkey_enabled() Aneesh Kumar K.V
2020-07-24 13:24 ` [PATCH v6 00/23] powerpc/book3s/64/pkeys: Simplify the code Michael Ellerman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).