[Skiboot] [PATCH 34/34] chip: Add a quirk for when core direct control XSCOMs are missing

Benjamin Herrenschmidt benh at kernel.crashing.org
Sun Jul 24 09:27:28 AEST 2016


Those will be needed by fast reboot. For now, mark qemu and mambo
as not having them.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
 core/chip.c    | 6 ++++--
 include/chip.h | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/core/chip.c b/core/chip.c
index 2651ad4..ef9feb9 100644
--- a/core/chip.c
+++ b/core/chip.c
@@ -79,7 +79,8 @@ void init_chips(void)
 	/* Detect mambo chip */
 	if (dt_find_by_path(dt_root, "/mambo")) {
 		proc_chip_quirks |= QUIRK_NO_CHIPTOD | QUIRK_MAMBO_CALLOUTS
-			| QUIRK_NO_F000F | QUIRK_NO_PBA | QUIRK_NO_OCC_IRQ;
+			| QUIRK_NO_F000F | QUIRK_NO_PBA | QUIRK_NO_OCC_IRQ
+			| QUIRK_NO_DIRECT_CTL;
 		prlog(PR_NOTICE, "CHIP: Detected Mambo simulator\n");
 	}
 	/* Detect simics */
@@ -98,7 +99,8 @@ void init_chips(void)
 	}
 	/* Detect Qemu */
 	if (dt_node_is_compatible(dt_root, "qemu,powernv")) {
-		proc_chip_quirks |= QUIRK_NO_CHIPTOD | QUIRK_NO_PBA;
+		proc_chip_quirks |= QUIRK_NO_CHIPTOD | QUIRK_NO_PBA
+			| QUIRK_NO_DIRECT_CTL;
 		prlog(PR_NOTICE, "CHIP: Detected Qemu simulator\n");
 	}
 
diff --git a/include/chip.h b/include/chip.h
index f62c964..a350a63 100644
--- a/include/chip.h
+++ b/include/chip.h
@@ -129,6 +129,7 @@ enum proc_chip_quirks {
 	QUIRK_NO_OCC_IRQ       	= 0x00000010,
 	QUIRK_SIMICS		= 0x00000020,
 	QUIRK_SLOW_SIM		= 0x00000040,
+	QUIRK_NO_DIRECT_CTL	= 0x00000080,
 } proc_chip_quirks;
 
 static inline bool chip_quirk(unsigned int q)
-- 
2.7.4



More information about the Skiboot mailing list