intel sandy/ivy: Redefine DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE

Match the definition and use of these variable with haswell, such that
DCACHE_RAM_MRC_VAR_SIZE is not included in DCACHE_RAM_SIZE.

Change-Id: I5af20f63cd0cb631d39f7c7fe0e2a99ebd3ce986
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/15761
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Kyösti Mälkki 2016-07-20 10:49:38 +03:00
parent d950f5191d
commit 9551bed306
2 changed files with 32 additions and 11 deletions

View File

@ -20,7 +20,11 @@
#include <arch/acpi.h> #include <arch/acpi.h>
#include "northbridge/intel/sandybridge/sandybridge.h" #include "northbridge/intel/sandybridge/sandybridge.h"
#define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE /* The full cache-as-ram size includes the cache-as-ram portion from coreboot
* and the space used by the reference code. These 2 values combined should
* be a power of 2 because the MTRR setup assumes that. */
#define CACHE_AS_RAM_SIZE \
(CONFIG_DCACHE_RAM_SIZE + CONFIG_DCACHE_RAM_MRC_VAR_SIZE)
#define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE #define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
/* Cache 4GB - MRC_SIZE_KB for MRC */ /* Cache 4GB - MRC_SIZE_KB for MRC */
@ -159,9 +163,8 @@ clear_mtrrs:
andl $(~(CR0_CacheDisable | CR0_NoWriteThrough)), %eax andl $(~(CR0_CacheDisable | CR0_NoWriteThrough)), %eax
movl %eax, %cr0 movl %eax, %cr0
/* Set up the stack pointer below MRC variable space. */ /* Setup the stack. */
movl $(CACHE_AS_RAM_SIZE + CACHE_AS_RAM_BASE - \ movl $(CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE), %eax
CONFIG_DCACHE_RAM_MRC_VAR_SIZE - 4), %eax
movl %eax, %esp movl %eax, %esp
/* Restore the BIST result. */ /* Restore the BIST result. */

View File

@ -69,18 +69,35 @@ config MRC_CACHE_SIZE
depends on !CHROMEOS depends on !CHROMEOS
default 0x10000 default 0x10000
config BOOTBLOCK_NORTHBRIDGE_INIT
string
default "northbridge/intel/sandybridge/bootblock.c"
if USE_NATIVE_RAMINIT
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xff7e0000 if !USE_NATIVE_RAMINIT default 0xfefe0000
default 0xfefe0000 if USE_NATIVE_RAMINIT
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex
default 0x20000 default 0x20000
config BOOTBLOCK_NORTHBRIDGE_INIT config DCACHE_RAM_MRC_VAR_SIZE
string hex
default "northbridge/intel/sandybridge/bootblock.c" default 0x0
endif # USE_NATIVE_RAMINIT
if !USE_NATIVE_RAMINIT
config DCACHE_RAM_BASE
hex
default 0xff7e0000
config DCACHE_RAM_SIZE
hex
default 0x1c000
config DCACHE_RAM_MRC_VAR_SIZE config DCACHE_RAM_MRC_VAR_SIZE
hex hex
@ -88,7 +105,6 @@ config DCACHE_RAM_MRC_VAR_SIZE
config MRC_FILE config MRC_FILE
string "Intel System Agent path and filename" string "Intel System Agent path and filename"
depends on !USE_NATIVE_RAMINIT
default "3rdparty/blobs/northbridge/intel/sandybridge/systemagent-r6.bin" default "3rdparty/blobs/northbridge/intel/sandybridge/systemagent-r6.bin"
help help
The path and filename of the file to use as System Agent The path and filename of the file to use as System Agent
@ -96,6 +112,8 @@ config MRC_FILE
config MMCONF_BASE_ADDRESS config MMCONF_BASE_ADDRESS
hex hex
default 0xf0000000 if !USE_NATIVE_RAMINIT default 0xf0000000
endif # !USE_NATIVE_RAMINIT
endif endif