summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cpu/amd/model_fxx/model_fxx_init.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cpu/amd/model_fxx/model_fxx_init.c b/src/cpu/amd/model_fxx/model_fxx_init.c
index c0915fc523..129f778b09 100644
--- a/src/cpu/amd/model_fxx/model_fxx_init.c
+++ b/src/cpu/amd/model_fxx/model_fxx_init.c
@@ -140,13 +140,12 @@ static void set_init_ecc_mtrrs(void)
}
-static void init_ecc_memory(void)
+static void init_ecc_memory(unsigned node_id)
{
unsigned long startk, begink, endk;
unsigned long basek;
struct mtrr_state mtrr_state;
device_t f1_dev, f2_dev, f3_dev;
- int node_id;
int enable_scrubbing;
uint32_t dcl;
@@ -314,6 +313,7 @@ void model_fxx_init(device_t dev)
unsigned long mmio_basek, tomk;
unsigned long i;
msr_t msr;
+ unsigned nodeid;
/* Turn on caching if we haven't already */
x86_enable_cache();
@@ -336,7 +336,8 @@ void model_fxx_init(device_t dev)
/* Is this a bad location? In particular can another node prefecth
* data from this node before we have initialized it?
*/
- init_ecc_memory();
+ nodeid = lapicid() & 0xf;
+ init_ecc_memory(nodeid);
/* Enable the local cpu apics */
setup_lapic();