switch-coreboot/src/cpu
Aaron Durbin 7f8afe0631 arch/x86: introduce postcar stage/phase
Certain chipsets don't have a memory-mapped boot media
so their code execution for stages prior to DRAM initialization
is backed by SRAM or cache-as-ram. The postcar stage/phase
handles the cache-as-ram situation where in order to tear down
cache-as-ram one needs to be executing out of a backing
store that isn't transient. By current definition, cache-as-ram
is volatile and tearing it down leads to its contents disappearing.
Therefore provide a shim layer, postcar, that's loaded into
memory and executed which does 2 things:

1. Tears down cache-as-ram with a chipset helper function.
2. Loads and runs ramstage.

Because those 2 things are executed out of ram there's no issue
of the code's backing store while executing the code that
tears down cache-as-ram. The current implementation makes no
assumption regarding cacheability of the DRAM itself. If the
chipset code wishes to cache DRAM for loading of the postcar
stage/phase then it's also up to the chipset to handle any
coherency issues pertaining to cache-as-ram destruction.

Change-Id: Ia58efdadd0b48f20cfe7de2f49ab462306c3a19b
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/14140
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2016-03-23 14:24:30 +01:00
..
allwinner cpu/allwinner: Update license headers 2016-02-13 17:00:35 +01:00
amd Kconfig: Remove unneeded UDELAY_IO redeclaration 2016-03-08 16:53:26 +01:00
armltd vboot2: add verstage 2015-01-27 01:41:40 +01:00
dmp x86 chipsets: Link non-code flow CHIPSET_BOOTBLOCK_INCLUDE files 2015-12-30 18:34:08 +01:00
intel northbridge/intel/i440bx: Unify UDELAY selection 2016-03-10 16:55:35 +01:00
qemu-power8 cpu/qemu-power8: don't enable it for qemu-x86 2016-02-19 20:03:52 +01:00
qemu-x86 qemu-x86: Enable SMP support 2015-12-08 15:54:27 +01:00
ti Makefile: Make full use of src-to-obj macro 2016-01-28 00:31:00 +01:00
via cpu/via/c7: Don't manually include udelay_io.c 2016-03-10 16:56:23 +01:00
x86 arch/x86: introduce postcar stage/phase 2016-03-23 14:24:30 +01:00
Kconfig cpu: Add a way to use microcode .h files back to the build 2015-11-10 19:22:40 +01:00
Makefile.inc cpu: Add a way to use microcode .h files back to the build 2015-11-10 19:22:40 +01:00