summaryrefslogtreecommitdiff
path: root/src/northbridge/amd/pi/00730F01/northbridge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/northbridge/amd/pi/00730F01/northbridge.c')
-rw-r--r--src/northbridge/amd/pi/00730F01/northbridge.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/northbridge/amd/pi/00730F01/northbridge.c b/src/northbridge/amd/pi/00730F01/northbridge.c
index 46610c51e2..355820a815 100644
--- a/src/northbridge/amd/pi/00730F01/northbridge.c
+++ b/src/northbridge/amd/pi/00730F01/northbridge.c
@@ -869,10 +869,25 @@ void mp_init_cpus(struct bus *cpu_bus)
MTRR_TYPE_WRPROT);
}
+void generate_cpu_entries(const struct device *device)
+{
+ int cpu;
+ const int cores = get_cpu_count();
+
+ printk(BIOS_DEBUG, "ACPI \\_SB report %d core(s)\n", cores);
+
+ /* Generate \_SB.Pxxx */
+ for (cpu = 0; cpu < cores; cpu++) {
+ acpigen_write_processor_device(cpu);
+ acpigen_write_processor_device_end();
+ }
+}
+
static struct device_operations cpu_bus_ops = {
- .read_resources = noop_read_resources,
- .set_resources = noop_set_resources,
- .init = mp_cpu_bus_init,
+ .read_resources = noop_read_resources,
+ .set_resources = noop_set_resources,
+ .init = mp_cpu_bus_init,
+ .acpi_fill_ssdt = generate_cpu_entries,
};
static void root_complex_enable_dev(struct device *dev)