diff mbox series

[1/2] Revert "powerpc: Remove unused FW_FEATURE_NATIVE references"

Message ID 20220823115952.1203106-1-mpe@ellerman.id.au (mailing list archive)
State Accepted
Headers show
Series [1/2] Revert "powerpc: Remove unused FW_FEATURE_NATIVE references" | expand

Commit Message

Michael Ellerman Aug. 23, 2022, 11:59 a.m. UTC
This reverts commit 79b74a68486765a4fe685ac4069bc71366c538f5.

It broke booting on IBM Cell machines when the kernel is also built with
CONFIG_PPC_PS3=y.

That's because FW_FEATURE_NATIVE_ALWAYS = 0 does have an important
effect, which is to clear the PS3 ALWAYS features from
FW_FEATURE_ALWAYS.

Note that CONFIG_PPC_NATIVE has since been renamed
CONFIG_PPC_HASH_MMU_NATIVE.

Fixes: 79b74a684867 ("powerpc: Remove unused FW_FEATURE_NATIVE references")
Cc: stable@vger.kernel.org # v5.17+
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/include/asm/firmware.h | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Michael Ellerman Aug. 31, 2022, 1:12 p.m. UTC | #1
On Tue, 23 Aug 2022 21:59:51 +1000, Michael Ellerman wrote:
> This reverts commit 79b74a68486765a4fe685ac4069bc71366c538f5.
> 
> It broke booting on IBM Cell machines when the kernel is also built with
> CONFIG_PPC_PS3=y.
> 
> That's because FW_FEATURE_NATIVE_ALWAYS = 0 does have an important
> effect, which is to clear the PS3 ALWAYS features from
> FW_FEATURE_ALWAYS.
> 
> [...]

Applied to powerpc/fixes.

[1/2] Revert "powerpc: Remove unused FW_FEATURE_NATIVE references"
      https://git.kernel.org/powerpc/c/310d1344e3c58cc2d625aa4e52cfcb7d8a26fcbf
[2/2] powerpc/rtas: Fix RTAS MSR[HV] handling for Cell
      https://git.kernel.org/powerpc/c/91926d8b7e71aaf5f84f0cf208fc5a8b7a761050

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/include/asm/firmware.h b/arch/powerpc/include/asm/firmware.h
index 398e0b5e485f..ed6db13a1d7c 100644
--- a/arch/powerpc/include/asm/firmware.h
+++ b/arch/powerpc/include/asm/firmware.h
@@ -83,6 +83,8 @@  enum {
 	FW_FEATURE_POWERNV_ALWAYS = 0,
 	FW_FEATURE_PS3_POSSIBLE = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1,
 	FW_FEATURE_PS3_ALWAYS = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1,
+	FW_FEATURE_NATIVE_POSSIBLE = 0,
+	FW_FEATURE_NATIVE_ALWAYS = 0,
 	FW_FEATURE_POSSIBLE =
 #ifdef CONFIG_PPC_PSERIES
 		FW_FEATURE_PSERIES_POSSIBLE |
@@ -92,6 +94,9 @@  enum {
 #endif
 #ifdef CONFIG_PPC_PS3
 		FW_FEATURE_PS3_POSSIBLE |
+#endif
+#ifdef CONFIG_PPC_HASH_MMU_NATIVE
+		FW_FEATURE_NATIVE_ALWAYS |
 #endif
 		0,
 	FW_FEATURE_ALWAYS =
@@ -103,6 +108,9 @@  enum {
 #endif
 #ifdef CONFIG_PPC_PS3
 		FW_FEATURE_PS3_ALWAYS &
+#endif
+#ifdef CONFIG_PPC_HASH_MMU_NATIVE
+		FW_FEATURE_NATIVE_ALWAYS &
 #endif
 		FW_FEATURE_POSSIBLE,