From 94ee937e7a02e767884452555e87bf7a21fdc61f Mon Sep 17 00:00:00 2001 From: Marshall Dawson Date: Thu, 15 Jun 2017 12:18:23 -0600 Subject: [PATCH] soc/amd/stoneyridge: Enable early cbmem Add a memmap file with a cbmem_top() function. Remove the LATE_CBMEM_INIT, allowing the default of EARLY. Remove calls to the late-only set_top_of_ram() function. Change-Id: I11ad7190031c912642a7312f2fc6f792866288b7 Signed-off-by: Marshall Dawson Reviewed-on: https://review.coreboot.org/19751 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/soc/amd/stoneyridge/Kconfig | 1 - src/soc/amd/stoneyridge/ramtop.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/soc/amd/stoneyridge/Kconfig b/src/soc/amd/stoneyridge/Kconfig index 9c184edb2d..6584fbb713 100644 --- a/src/soc/amd/stoneyridge/Kconfig +++ b/src/soc/amd/stoneyridge/Kconfig @@ -35,7 +35,6 @@ config CPU_SPECIFIC_OPTIONS select HAVE_USBDEBUG_OPTIONS select HAVE_HARD_RESET select LAPIC_MONOTONIC_TIMER - select LATE_CBMEM_INIT select SPI_FLASH if HAVE_ACPI_RESUME select TSC_SYNC_LFENCE select SOC_AMD_COMMON diff --git a/src/soc/amd/stoneyridge/ramtop.c b/src/soc/amd/stoneyridge/ramtop.c index 8fa81c715a..c81e73b4e1 100644 --- a/src/soc/amd/stoneyridge/ramtop.c +++ b/src/soc/amd/stoneyridge/ramtop.c @@ -15,6 +15,8 @@ #include #include +#include +#include #include #define CBMEM_TOP_SCRATCHPAD 0x78 @@ -31,3 +33,13 @@ uintptr_t restore_top_of_low_cacheable(void) top_cache = pci_read_config16(PCI_DEV(0,0,0), CBMEM_TOP_SCRATCHPAD); return (top_cache << 16); } + +void *cbmem_top(void) +{ + msr_t tom = rdmsr(TOP_MEM); + + if (!tom.lo) + return 0; + else + return (void *)restore_top_of_low_cacheable(); +}