aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/chip.c6
-rw-r--r--include/chip.h1
2 files changed, 5 insertions, 2 deletions
diff --git a/core/chip.c b/core/chip.c
index 5ac5d62..ea775ef 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 77bc5cf..784faf8 100644
--- a/include/chip.h
+++ b/include/chip.h
@@ -130,6 +130,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)