Add a helper function to determine the number of enabled CPUs

Change-Id: Ia72926002571e0f250849fa5db048bd8b2e92400
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: http://review.coreboot.org/821
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Stefan Reinauer 2012-03-30 13:52:58 -07:00 committed by Stefan Reinauer
parent d40393e390
commit dc8448fd8b
2 changed files with 19 additions and 0 deletions

View File

@ -850,3 +850,21 @@ u32 find_pci_tolm(struct bus *bus)
return tolm; 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;
}

View File

@ -133,6 +133,7 @@ device_t dev_find_class (unsigned int class, device_t from);
device_t dev_find_slot (unsigned int bus, unsigned int devfn); device_t dev_find_slot (unsigned int bus, unsigned int devfn);
device_t dev_find_slot_on_smbus (unsigned int bus, unsigned int addr); device_t dev_find_slot_on_smbus (unsigned int bus, unsigned int addr);
device_t dev_find_lapic(unsigned apic_id); device_t dev_find_lapic(unsigned apic_id);
int dev_count_cpu(void);
/* Debug functions */ /* Debug functions */
void print_resource_tree(struct device * root, int debug_level, void print_resource_tree(struct device * root, int debug_level,