Am 02.02.2011 20:11, schrieb Alex G.:
Erratum 89 is already handled on line 390:

if (!is_cpu_pre_b3()) {

     /* Erratum 89 ... */
     msr = rdmsr(NB_CFG_MSR);
     msr.lo |= 1<<  3;

If this is also needed when CONFIG_K8_REV_F_SUPPORT == 1, then we should
move the existing one out of the
#if CONFIG_K8_REV_F_SUPPORT == 0
so it gets executed in both cases, as opposed to duplicating it.

Alex

On 02/02/2011 07:39 PM, Josef Kellermann wrote:
This patch fixes a potential system hang.
Don't know why this patch isn't included if 'CONFIG_K8_REV_F_SUPPORT == 1'.

Signed-off-by: Josef Kellermann<mailto://se...@arcor.de><se...@arcor.de>  
<mailto://se...@arcor.de>


Ok,
now it gets executed in both cases.

Signed-off-by: Josef Kellermann <se...@arcor.de> <mailto://se...@arcor.de>
Index: src/cpu/amd/model_fxx/model_fxx_init.c
===================================================================
--- src/cpu/amd/model_fxx/model_fxx_init.c      (Revision 6326)
+++ src/cpu/amd/model_fxx/model_fxx_init.c      (Arbeitskopie)
@@ -384,24 +384,7 @@
                wrmsr_amd(DC_CFG_MSR, msr);
 
        }
-       /* I can't touch this msr on early buggy cpus */
-       if (!is_cpu_pre_b3()) {
 
-               /* Erratum 89 ... */
-               msr = rdmsr(NB_CFG_MSR);
-               msr.lo |= 1 << 3;
-
-               if (!is_cpu_pre_c0() && is_cpu_pre_d0()) {
-                       /* D0 later don't need it */
-                       /* Erratum 86 Disable data masking on C0 and
-                        * later processor revs.
-                        * FIXME this is only needed if ECC is enabled.
-                        */
-                       msr.hi |= 1 << (36 - 32);
-               }
-               wrmsr(NB_CFG_MSR, msr);
-       }
-
        /* Erratum 97 ... */
        if (!is_cpu_pre_c0() && is_cpu_pre_d0()) {
                msr = rdmsr_amd(DC_CFG_MSR);
@@ -445,7 +428,28 @@
                msr.hi |= 1;
                wrmsr_amd(CPU_ID_EXT_FEATURES_MSR, msr);
        }
+       
+#if CONFIG_K8_REV_F_SUPPORT == 0
+               /* I can't touch this msr on early buggy cpus */
+       if (!is_cpu_pre_b3())
+#endif
+       {
 
+               /* Erratum 89 ... */
+               msr = rdmsr(NB_CFG_MSR);
+               msr.lo |= 1 << 3;
+#if CONFIG_K8_REV_F_SUPPORT == 0
+               if (!is_cpu_pre_c0() && is_cpu_pre_d0()) {
+                       /* D0 later don't need it */
+                       /* Erratum 86 Disable data masking on C0 and
+                        * later processor revs.
+                        * FIXME this is only needed if ECC is enabled.
+                        */
+                       msr.hi |= 1 << (36 - 32);
+               }
+#endif
+               wrmsr(NB_CFG_MSR, msr);
+       }
        /* Erratum 122 */
        msr = rdmsr(HWCR_MSR);
        msr.lo |= 1 << 6;
-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to