diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2016-11-17 05:16:23 -0500 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-11-18 07:16:58 -0500 |
commit | cac4a185405d4415eca269cae976438b44a37ae0 (patch) | |
tree | 95feff05d40607ca8e0f556e1eef09fb095d0438 | |
parent | 96ed1fe511a8b4948e53f3bad431d8737e8f231f (diff) |
powerpc/mm: Fix missing update of HID register on secondary CPUs
We need to update on secondaries for the selected MMU mode.
Fixes: ad410674f560 ("powerpc/mm: Update the HID bit when switching from radix to hash")
Reported-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 4 | ||||
-rw-r--r-- | arch/powerpc/mm/pgtable-radix.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 44d3c3a38e3e..5503078090cd 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -1029,6 +1029,10 @@ void hash__early_init_mmu_secondary(void) | |||
1029 | { | 1029 | { |
1030 | /* Initialize hash table for that CPU */ | 1030 | /* Initialize hash table for that CPU */ |
1031 | if (!firmware_has_feature(FW_FEATURE_LPAR)) { | 1031 | if (!firmware_has_feature(FW_FEATURE_LPAR)) { |
1032 | |||
1033 | if (cpu_has_feature(CPU_FTR_POWER9_DD1)) | ||
1034 | update_hid_for_hash(); | ||
1035 | |||
1032 | if (!cpu_has_feature(CPU_FTR_ARCH_300)) | 1036 | if (!cpu_has_feature(CPU_FTR_ARCH_300)) |
1033 | mtspr(SPRN_SDR1, _SDR1); | 1037 | mtspr(SPRN_SDR1, _SDR1); |
1034 | else | 1038 | else |
diff --git a/arch/powerpc/mm/pgtable-radix.c b/arch/powerpc/mm/pgtable-radix.c index ed7bddc456b7..688b54517655 100644 --- a/arch/powerpc/mm/pgtable-radix.c +++ b/arch/powerpc/mm/pgtable-radix.c | |||
@@ -388,6 +388,10 @@ void radix__early_init_mmu_secondary(void) | |||
388 | * update partition table control register and UPRT | 388 | * update partition table control register and UPRT |
389 | */ | 389 | */ |
390 | if (!firmware_has_feature(FW_FEATURE_LPAR)) { | 390 | if (!firmware_has_feature(FW_FEATURE_LPAR)) { |
391 | |||
392 | if (cpu_has_feature(CPU_FTR_POWER9_DD1)) | ||
393 | update_hid_for_radix(); | ||
394 | |||
391 | lpcr = mfspr(SPRN_LPCR); | 395 | lpcr = mfspr(SPRN_LPCR); |
392 | mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); | 396 | mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); |
393 | 397 | ||