summaryrefslogtreecommitdiff
path: root/src/southbridge
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge')
-rw-r--r--src/southbridge/intel/i82371eb/acpi_tables.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/southbridge/intel/i82371eb/acpi_tables.c b/src/southbridge/intel/i82371eb/acpi_tables.c
index cd002e8135..a4cd1b3102 100644
--- a/src/southbridge/intel/i82371eb/acpi_tables.c
+++ b/src/southbridge/intel/i82371eb/acpi_tables.c
@@ -6,18 +6,27 @@
#include <device/device.h>
#include "i82371eb.h"
+static void generate_cpu_entry(int cpu)
+{
+ int pcontrol_blk = DEFAULT_PMBASE + PCNTRL, plen = 6;
+
+ acpigen_write_processor(cpu, pcontrol_blk, plen);
+ acpigen_pop_len();
+}
+
void generate_cpu_entries(const struct device *device)
{
- int cpu, pcontrol_blk=DEFAULT_PMBASE+PCNTRL, plen=6;
+ int cpu;
int numcpus = dev_count_cpu();
+
printk(BIOS_DEBUG, "Found %d CPU(s).\n", numcpus);
/* without the outer scope, further ssdt addition will end up
* within the processor statement */
acpigen_write_scope("\\_SB");
- for (cpu=0; cpu < numcpus; cpu++) {
- acpigen_write_processor(cpu, pcontrol_blk, plen);
- acpigen_pop_len();
- }
+
+ for (cpu = 0; cpu < numcpus; cpu++)
+ generate_cpu_entry(cpu);
+
acpigen_pop_len();
}