Add a helper function to determine the number of enabled CPUs
[coreboot.git] / src / devices / device_util.c
index 526490a8c199ab132dcce9bb9adc382e89042cbb..5225938e192035ff385f7fda4edf65e2d6eda02e 100644 (file)
@@ -850,3 +850,21 @@ u32 find_pci_tolm(struct bus *bus)
 
        return tolm;
 }
+
+/* Count of enabled CPUs */
+int dev_count_cpu(void)
+{
+       device_t cpu;
+       int count = 0;
+
+       for (cpu = all_devices; cpu; cpu = cpu->next) {
+               if ((cpu->path.type != DEVICE_PATH_APIC) ||
+                   (cpu->bus->dev->path.type != DEVICE_PATH_APIC_CLUSTER))
+                       continue;
+               if (!cpu->enabled)
+                       continue;
+               count++;
+       }
+
+       return count;
+}