Intel cpus: use CPU_PHYSMASK_HI define in CAR
authorKyösti Mälkki <kyosti.malkki@gmail.com>
Wed, 15 Feb 2012 13:55:57 +0000 (15:55 +0200)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Thu, 16 Feb 2012 00:55:50 +0000 (01:55 +0100)
Unifies models 6ex, 6fx and 106cx.

Change-Id: I2bb632c7148a7d937f24eb559f7f4e539d227470
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/638
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
src/cpu/intel/model_106cx/cache_as_ram.inc
src/cpu/intel/model_6ex/cache_as_ram.inc
src/cpu/intel/model_6fx/cache_as_ram.inc

index 824e3411100e75b6bcc0dfa5209dbcffb5c9937e..caf5d03299e8a5559b50670e448831c6b26cca09 100644 (file)
@@ -22,6 +22,9 @@
 #include <cpu/x86/mtrr.h>
 #include <cpu/x86/post_code.h>
 
+#define CPU_MAXPHYADDR 32
+#define CPU_PHYSMASK_HI  (1 << (CPU_MAXPHYADDR - 32) - 1)
+
 #define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE
 #define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
 
@@ -64,7 +67,7 @@ clear_mtrrs:
        /* Set Cache-as-RAM mask. */
        movl    $(MTRRphysMask_MSR(0)), %ecx
        movl    $(~(CACHE_AS_RAM_SIZE - 1) | MTRRphysMaskValid), %eax
-       xorl    %edx, %edx
+       movl    $CPU_PHYSMASK_HI, %edx
        wrmsr
 
        /* Enable MTRR. */
@@ -112,7 +115,7 @@ clear_mtrrs:
        wrmsr
 
        movl    $MTRRphysMask_MSR(1), %ecx
-       xorl    %edx, %edx
+       movl    $CPU_PHYSMASK_HI, %edx
        movl    $(~(CONFIG_XIP_ROM_SIZE - 1) | MTRRphysMaskValid), %eax
        wrmsr
 #endif /* CONFIG_XIP_ROM_SIZE */
@@ -197,7 +200,7 @@ clear_mtrrs:
        wrmsr
        movl    $MTRRphysMask_MSR(0), %ecx
        movl    $(~(1024 * 1024 - 1) | MTRRphysMaskValid), %eax
-       xorl    %edx, %edx
+       movl    $CPU_PHYSMASK_HI, %edx
        wrmsr
 
        post_code(0x39)
index 18ada2965b0afbf0fbfa71b85058ddfc7852edbc..08f5b1138dec5055efbb20c470b5501048c3d3d6 100644 (file)
@@ -22,6 +22,9 @@
 #include <cpu/x86/mtrr.h>
 #include <cpu/x86/post_code.h>
 
+#define CPU_MAXPHYADDR 36
+#define CPU_PHYSMASK_HI  (1 << (CPU_MAXPHYADDR - 32) - 1)
+
 #define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE
 #define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
 
@@ -64,7 +67,7 @@ clear_mtrrs:
        /* Set Cache-as-RAM mask. */
        movl    $(MTRRphysMask_MSR(0)), %ecx
        movl    $(~(CACHE_AS_RAM_SIZE - 1) | MTRRphysMaskValid), %eax
-       movl    $0x0000000f, %edx
+       movl    $CPU_PHYSMASK_HI, %edx
        wrmsr
 
        /* Enable MTRR. */
@@ -112,7 +115,7 @@ clear_mtrrs:
        wrmsr
 
        movl    $MTRRphysMask_MSR(1), %ecx
-       movl    $0x0000000f, %edx
+       movl    $CPU_PHYSMASK_HI, %edx
        movl    $(~(CONFIG_XIP_ROM_SIZE - 1) | MTRRphysMaskValid), %eax
        wrmsr
 #endif /* CONFIG_XIP_ROM_SIZE */
@@ -197,7 +200,7 @@ clear_mtrrs:
        wrmsr
        movl    $MTRRphysMask_MSR(0), %ecx
        movl    $(~(CONFIG_RAMTOP - 1) | MTRRphysMaskValid), %eax
-       movl    $0x0000000f, %edx       // 36bit address space
+       movl    $CPU_PHYSMASK_HI, %edx
        wrmsr
 
        /* Enable caching and Speculative Reads for the last 4MB. */
@@ -207,7 +210,7 @@ clear_mtrrs:
        wrmsr
        movl    $MTRRphysMask_MSR(1), %ecx
        movl    $(~(4 * 1024 * 1024 - 1) | MTRRphysMaskValid), %eax
-       movl    $0x0000000f, %edx       // 36bit address space
+       movl    $CPU_PHYSMASK_HI, %edx
        wrmsr
 
        post_code(0x39)
index dfc4f3b2b9f49b1e910115ad9e653f98716310c6..25d8de28a1eabcc114b23ad4ba2526fb44fd8407 100644 (file)
@@ -22,6 +22,9 @@
 #include <cpu/x86/mtrr.h>
 #include <cpu/x86/post_code.h>
 
+#define CPU_MAXPHYADDR 36
+#define CPU_PHYSMASK_HI  (1 << (CPU_MAXPHYADDR - 32) - 1)
+
 #define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE
 #define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
 
@@ -71,7 +74,7 @@ clear_mtrrs:
        /* Set Cache-as-RAM mask. */
        movl    $(MTRRphysMask_MSR(0)), %ecx
        movl    $(~(CACHE_AS_RAM_SIZE - 1) | MTRRphysMaskValid), %eax
-       movl    $0x0000000f, %edx
+       movl    $CPU_PHYSMASK_HI, %edx
        wrmsr
 
        /* Enable MTRR. */
@@ -119,7 +122,7 @@ clear_mtrrs:
        wrmsr
 
        movl    $MTRRphysMask_MSR(1), %ecx
-       movl    $0x0000000f, %edx
+       movl    $CPU_PHYSMASK_HI, %edx
        movl    $(~(CONFIG_XIP_ROM_SIZE - 1) | MTRRphysMaskValid), %eax
        wrmsr
 #endif /* CONFIG_XIP_ROM_SIZE */
@@ -204,7 +207,7 @@ clear_mtrrs:
        wrmsr
        movl    $MTRRphysMask_MSR(0), %ecx
        movl    $(~(1024 * 1024 - 1) | MTRRphysMaskValid), %eax
-       movl    $0x0000000f, %edx       // 36bit address space
+       movl    $CPU_PHYSMASK_HI, %edx
        wrmsr
 
        post_code(0x39)