switch-coreboot/src
Marshall Dawson 18b477ea41 soc/amd/stoneyridge: Add postcar stage
Insert a postcar stage for Stoney Ridge and move romstage's CAR
teardown there.

The AMD cache-as-ram teardown procedure currently uses a wbinvd
instruction to send CAR contents to DRAM backing.  This allows
preserving stack contents and CAR globals after the teardown
happens, but likely results in memory corruption during S3 resume.
Due to the current base of the DCACHE region, reverting to an
invd instruction will break the detection mechanism for CAR
migrated variables.  Using postcar avoids this problem.

The current behavior of AGESA is to set up all cores' MTRRs during
the AmdInitPost() entry point.  This implementation takes control
back and causes postcar's _start to clear all settings and set
attributes only for the BIOS flash device, TSEG, and enough space
below cbmem_top to load and run ramstage.

BUG=b:64768556

Change-Id: I1045446655b81b806d75903d75288ab17b5e77d1
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/20966
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-09-27 16:29:05 +00:00
..
acpi src/acpi: Add guards on all header files 2017-08-01 23:04:27 +00:00
arch riscv: Update register address 2017-09-26 16:50:36 +00:00
commonlib sb/intel/bd82x6x: Add time-stamp around ME DRAM update 2017-09-13 16:19:06 +00:00
console console: Ignore loglevel in nvram until ramstage 2017-09-25 13:35:29 +00:00
cpu AGESA: Move API interface under drivers/ 2017-09-26 10:07:07 +00:00
device device/dram/ddr2.c: fix a hidden syntax error introduced earlier 2017-09-26 15:53:55 +00:00
drivers Use stopwatch_wait_until_expired where applicable 2017-09-26 16:53:28 +00:00
ec Use stopwatch_wait_until_expired where applicable 2017-09-26 16:53:28 +00:00
include cpu/amd/amdfam15: Add misc. SMM definitions 2017-09-27 15:57:16 +00:00
lib Use stopwatch_wait_until_expired where applicable 2017-09-26 16:53:28 +00:00
mainboard google/kahlee: Fix GPIO ASL 2017-09-27 02:53:54 +00:00
northbridge AGESA: Move API interface under drivers/ 2017-09-26 10:07:07 +00:00
soc soc/amd/stoneyridge: Add postcar stage 2017-09-27 16:29:05 +00:00
southbridge AGESA: Move API interface under drivers/ 2017-09-26 10:07:07 +00:00
superio winbond/w83627hf: Drop early_init.c 2017-09-21 15:40:49 +00:00
vboot vboot: reset vbnv in cmos when cmos failure occurs 2017-09-20 23:54:42 +00:00
vendorcode AGESA: Drop CAR teardown without POSTCAR_STAGE 2017-09-26 10:06:32 +00:00
Kconfig clang: Allow ANY_TOOLCHAIN for non-coreboot clang 2017-09-02 15:23:22 +00:00