diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2018-04-05 07:57:54 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-04-05 08:28:00 +0200 |
commit | c130153e453cba0f37ad10fa18a1aa9c9a598a59 (patch) | |
tree | 181354e6b0eb95d5802b2b2d688703af069f3c9c /arch/powerpc | |
parent | powerpc/64s: Fix dt_cpu_ftrs to have restore_cpu clear unwanted LPCR bits (diff) | |
download | linux-c130153e453cba0f37ad10fa18a1aa9c9a598a59.tar.xz linux-c130153e453cba0f37ad10fa18a1aa9c9a598a59.zip |
powerpc/64s: Fix pkey support in dt_cpu_ftrs, add CPU_FTR_PKEY bit
The pkey code added a CPU_FTR_PKEY bit, but did not add it to the
dt_cpu_ftrs feature set. Although capability is supported by all
processors in the base dt_cpu_ftrs set for 64s, it's a significant
and sufficiently well defined feature to make it optional. So add
it as a quirk for now, which can be versioned out then controlled
by the firmware (once dt_cpu_ftrs gains versioning support).
Fixes: cf43d3b26452 ("powerpc: Enable pkey subsystem")
Cc: stable@vger.kernel.org # v4.16+
Cc: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/dt_cpu_ftrs.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c index ed7605d8fd2d..e88fbb1fdb8f 100644 --- a/arch/powerpc/kernel/dt_cpu_ftrs.c +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c @@ -729,6 +729,13 @@ static __init void cpufeatures_cpu_quirks(void) cur_cpu_spec->cpu_features &= ~(CPU_FTR_DAWR); cur_cpu_spec->cpu_features |= CPU_FTR_P9_TLBIE_BUG; } + + /* + * PKEY was not in the initial base or feature node + * specification, but it should become optional in the next + * cpu feature version sequence. + */ + cur_cpu_spec->cpu_features |= CPU_FTR_PKEY; } static void __init cpufeatures_setup_finished(void) |