enable apic ext id
authorYinghai Lu <yinghailu@gmail.com>
Wed, 5 Jan 2005 20:57:33 +0000 (20:57 +0000)
committerYinghai Lu <yinghailu@gmail.com>
Wed, 5 Jan 2005 20:57:33 +0000 (20:57 +0000)
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1840 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/cpu/amd/model_fxx/model_fxx_init.c

index c0915fc5231ad67219fd58a47b7e350c56f1bbff..129f778b0900961a2e7a4bdff3b6eeb75869fff4 100644 (file)
@@ -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();