summaryrefslogtreecommitdiffstats
path: root/src/include/device/device.h
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2012-08-07 17:12:11 +0300
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2012-08-27 15:36:47 +0200
commitc33f1e9261adbe3921d305274e34ddab9101bc4e (patch)
tree428c00eef8f40f5f4c19d5e0085e516fbcb69b52 /src/include/device/device.h
parentcd9fc1aa5f483818385c4a6c98afee4c8f49ad8e (diff)
downloadcoreboot-c33f1e9261adbe3921d305274e34ddab9101bc4e.tar.gz
coreboot-c33f1e9261adbe3921d305274e34ddab9101bc4e.tar.bz2
coreboot-c33f1e9261adbe3921d305274e34ddab9101bc4e.zip
AMD northbridges: factor out CPU allocation
Factor CPU allocation out of AMD northbridge codes. As CPU topology information is required for generation of certain ACPI tables, make this code globally available. For AMDK8 and AMDFAM10 northbridge, there is a possible case of BSP CPU with lapicid!=0. We do not want to leave the lapic 0 from devicetree unused, so always use that node for BSP CPU. Change-Id: I8b1e73ed5b20b314f71dfd69a7b781ac05aea120 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/1418 Tested-by: build bot (Jenkins) Reviewed-by: Anton Kochkov <anton.kochkov@gmail.com> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Diffstat (limited to 'src/include/device/device.h')
-rw-r--r--src/include/device/device.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/device/device.h b/src/include/device/device.h
index 772b737cd94a..642a4a63589c 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -155,6 +155,16 @@ device_t dev_find_slot_on_smbus (unsigned int bus, unsigned int addr);
device_t dev_find_lapic(unsigned apic_id);
int dev_count_cpu(void);
+void remap_bsp_lapic(struct bus *cpu_bus);
+device_t add_cpu_device(struct bus *cpu_bus, unsigned apic_id, int enabled);
+void set_cpu_topology(device_t cpu, unsigned node, unsigned package, unsigned core, unsigned thread);
+
+#define amd_cpu_topology(cpu, node, core) \
+ set_cpu_topology(cpu, node, 0, core, 0)
+
+#define intel_cpu_topology(cpu, package, core, thread) \
+ set_cpu_topology(cpu, 0, package, core, thread)
+
/* Debug functions */
void print_resource_tree(struct device * root, int debug_level,
const char *msg);