aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/chip.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/chip.c b/core/chip.c
index 3550804..c18ac49 100644
--- a/core/chip.c
+++ b/core/chip.c
@@ -78,6 +78,7 @@ static void init_chip(struct dt_node *dn)
id = dt_get_chip_id(dn);
assert(id < MAX_CHIPS);
+ assert(chips[id] == NULL);
chip = zalloc(sizeof(struct proc_chip));
assert(chip);
@@ -108,7 +109,11 @@ void init_chips(void)
| QUIRK_NO_F000F | QUIRK_NO_PBA | QUIRK_NO_OCC_IRQ
| QUIRK_NO_DIRECT_CTL | QUIRK_NO_RNG;
prlog(PR_NOTICE, "CHIP: Detected Mambo simulator\n");
+
+ dt_for_each_compatible(dt_root, xn, "ibm,mambo-chip")
+ init_chip(xn);
}
+
/* Detect simics */
if (dt_find_by_path(dt_root, "/simics")) {
proc_chip_quirks |= QUIRK_SIMICS