Build device paths for AP cores so that coreboot will report them to the OS.

Signed-off-by: Scott Duplichan <scott@notabs.org>
Acked-by: Marc Jones <marcj303@gmail.com>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6581 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/northbridge/amd/agesa_wrapper/family14/northbridge.c b/src/northbridge/amd/agesa_wrapper/family14/northbridge.c
index 45627ce..50748eb 100644
--- a/src/northbridge/amd/agesa_wrapper/family14/northbridge.c
+++ b/src/northbridge/amd/agesa_wrapper/family14/northbridge.c
@@ -788,7 +788,22 @@
  
 static void cpu_bus_init(device_t dev)
 {
+	struct device_path cpu_path;
+	device_t cpu;
+    int apic_id;
+
     initialize_cpus(dev->link_list);
+
+	/* Build the AP cpu device path(s) */
+    for (apic_id = 1; apic_id < CONFIG_MAX_CPUS; apic_id++) {
+	    cpu_path.type = DEVICE_PATH_APIC;
+	    cpu_path.apic.apic_id = apic_id;
+    	cpu = alloc_dev(dev->link_list, &cpu_path);
+        if (!cpu) return;
+        cpu->enabled = 1;
+    	cpu->path.apic.node_id = 0;
+    	cpu->path.apic.core_id = apic_id;
+    }
 }