intel cache-as-ram: Move DCACHE_RAM_BASE

Having same memory region set as both WRPROT and WRBACK
using MTRRs is undefined behaviour. This could happen if
we allow DCACHE_RAM_BASE to be located within CBFS in SPI
flash memory and XIP romstage is at the same location.

As SPI master by default decodes all of top 16MiB below
4GiB, initial cache-as-ram line fills may have actually
read from SPI flash even in the case DCACHE_RAM_BASE was
below the nominal 4GiB - ROM_SIZE.

There are no reasons to have this as board-specific setting.

Change-Id: I2cce80731ede2e7f78197d9b0c77c7e9957a81b5
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/17806
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Kyösti Mälkki 2016-12-09 17:43:27 +02:00
parent c3e0389c05
commit c86c6b33e8
15 changed files with 20 additions and 56 deletions

View File

@ -14,7 +14,7 @@ if CPU_INTEL_EP80579
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xffaf8000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex

View File

@ -11,7 +11,7 @@ config SOCKET_SPECIFIC_OPTIONS # dummy
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xffaf8000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex

View File

@ -8,7 +8,7 @@ if CPU_INTEL_SOCKET_BGA956
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xffaf8000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex

View File

@ -11,7 +11,7 @@ config SOCKET_SPECIFIC_OPTIONS
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xffafc000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex

View File

@ -4,3 +4,15 @@ config CPU_INTEL_SOCKET_LGA771
select SSE2 select SSE2
select MMX select MMX
select AP_IN_SIPI_WAIT select AP_IN_SIPI_WAIT
if CPU_INTEL_SOCKET_LGA771
config DCACHE_RAM_BASE
hex
default 0xfefc0000
config DCACHE_RAM_SIZE
hex
default 0x8000
endif

View File

@ -12,7 +12,7 @@ config SOCKET_SPECIFIC_OPTIONS # dummy
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xffaf8000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex

View File

@ -9,7 +9,7 @@ if CPU_INTEL_SOCKET_MPGA478MN
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xffaf8000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex

View File

@ -22,7 +22,7 @@ config SSE2
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0x0ffafc000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex

View File

@ -27,14 +27,6 @@ config MAINBOARD_DIR
string string
default apple/macbook21 default apple/macbook21
config DCACHE_RAM_BASE
hex
default 0xffdf8000
config DCACHE_RAM_SIZE
hex
default 0x8000
if BOARD_APPLE_MACBOOK21 if BOARD_APPLE_MACBOOK21
config MAINBOARD_PART_NUMBER config MAINBOARD_PART_NUMBER

View File

@ -15,14 +15,6 @@ config MAINBOARD_DIR
string string
default asus/dsbf default asus/dsbf
config DCACHE_RAM_BASE
hex
default 0xffdf8000
config DCACHE_RAM_SIZE
hex
default 0x8000
config MAINBOARD_PART_NUMBER config MAINBOARD_PART_NUMBER
string string
default "DSBF" default "DSBF"

View File

@ -21,14 +21,6 @@ config MAINBOARD_DIR
string string
default ibase/mb899 default ibase/mb899
config DCACHE_RAM_BASE
hex
default 0xffdf8000
config DCACHE_RAM_SIZE
hex
default 0x8000
config MAINBOARD_PART_NUMBER config MAINBOARD_PART_NUMBER
string string
default "MB899" default "MB899"

View File

@ -30,14 +30,6 @@ config MAINBOARD_DIR
string string
default lenovo/t60 default lenovo/t60
config DCACHE_RAM_BASE
hex
default 0xffdf8000
config DCACHE_RAM_SIZE
hex
default 0x8000
config MAINBOARD_PART_NUMBER config MAINBOARD_PART_NUMBER
string string
default "ThinkPad T60" default "ThinkPad T60"

View File

@ -33,14 +33,6 @@ config MAINBOARD_DIR
string string
default lenovo/x60 default lenovo/x60
config DCACHE_RAM_BASE
hex
default 0xffdf8000
config DCACHE_RAM_SIZE
hex
default 0x8000
config MAINBOARD_PART_NUMBER config MAINBOARD_PART_NUMBER
string string
default "ThinkPad X60" default "ThinkPad X60"

View File

@ -15,14 +15,6 @@ config MAINBOARD_DIR
string string
default supermicro/x7db8 default supermicro/x7db8
config DCACHE_RAM_BASE
hex
default 0xffdf8000
config DCACHE_RAM_SIZE
hex
default 0x8000
config MAINBOARD_PART_NUMBER config MAINBOARD_PART_NUMBER
string string
default "X7DB8 / X7DB8+" default "X7DB8 / X7DB8+"

View File

@ -39,7 +39,7 @@ config VGA_BIOS_ID
config DCACHE_RAM_BASE config DCACHE_RAM_BASE
hex hex
default 0xff7f0000 default 0xfefc0000
config DCACHE_RAM_SIZE config DCACHE_RAM_SIZE
hex hex