ron minnich wrote:
support for node id and core id. We've been faking this for two years now.
Good improvement.
+++ mainboard/amd/serengeti/Makefile (working copy) @@ -27,6 +27,8 @@ $(src)/southbridge/amd/amd8111/stage1_smbus.c \ $(src)/southbridge/amd/amd8111/stage1_ctrl.c \ $(src)/southbridge/amd/amd8111/stage1_enable_rom.c \
$(src)/arch/x86/amd/model_fxx/dualcore_id.c \
$(src)/arch/x86/amd/model_fxx/stage1.c \ $(src)/northbridge/amd/k8/coherent_ht.c \ $(src)/northbridge/amd/k8/libstage1.c \
@@ -38,10 +40,9 @@ $(src)/arch/x86/pci_ops_conf1.c \ $(src)/arch/x86/stage1_mtrr.c \ $(src)/southbridge/amd/amd8111/stage1_smbus.c \
$(src)/arch/x86/amd/model_fxx/init_cpus.c \ $(src)/arch/x86/amd/model_fxx/dualcore.c \
$(src)/arch/x86/amd/model_fxx/dualcore_id.c \ $(src)/arch/x86/amd/model_fxx/fidvid.c \
$(src)/arch/x86/amd/model_fxx/init_cpus.c \ $(src)/lib/clog2.c
Hm, is the order important?
/**
- Return core id/node id info. Always 0.
- */
+struct node_core_id get_node_core_id(void) +{
- struct node_core_id id;
- id.nodeid = 0;
- id.coreid = 0;
+}
Except there is no return. :)
me = get_node_core_id();
/* before we do anything, we want to stop if we dont run
* on the bootstrap processor.
* stop_ap is responsible for NOT stopping the BSP
*/
stop_ap();
stop_ap() and comment could go before get_node_core_id().
/* Initialize global variables before we can think of using them. * NEVER run this on an AP! */
- global_vars_init(&globvars);
- globvars.init_detected = init_detected;
- if (me.nodeid == 0) {
global_vars_init(&globvars);
globvars.init_detected = init_detected;
- }
And in any case this check shouldn't be needed - then stop_ap() will have failed and if that can happen it should be handled by stop_ap().
//Peter