coreboot/src
Marshall Dawson 9df969aebf soc/amd/common: Convert to C_ENVIRONMENT_BOOTBLOCK
Add dedicated CAR setup and teardown functions and Kconfig
options to force their inclusion into the build.  The .S files
are mostly duplicated code from the old cache_as_ram.inc file.

The .S files use global proc names in anticipation for use with
the Kconfig symbols C_ENVIRONMENT_BOOTBLOCK and POSTCAR_STAGE.

Move the mainboard romstage functionality into the soc directory
and change the function name to be compatible with the call
from assembly_entry.S.  Drop the BIST check like other devices.

Move InitReset and InitEarly to bootblock.  These AGESA entry
points set some default settings, and release/recapture the
AP cores.  There are currently some early dependencies on
InitReset.  Future work should include:
 * Pull the necessary functionality from InitReset into bootblock
 * Move InitReset and InitEarly to car_stage_entry() and out of
   bootblock
   - Add a mechanism for the BSP to give the APs an address
     to call and skip most of bootblock and verstage (when
     available) (1)
   - Reunify BiosCallOuts.c and OemCustomize.c

(1) During the InitReset call, the BSP enables the APs by setting
    core enable bits in F18F0x1DC and APs begin fetching/executing
    from the reset vector.  The BSP waits for all APs to also
    reach InitReset, where they enter an endless loop.  The BSP
    sends a command to them to execute a HLT instruction and the
    BSP eventually returns from InitReset.  The goal would be to
    preserve this process but prevent APs from rerunning early
    code.

Change-Id: I811c7ef875b980874f3c4b1f234f969ae5618c44
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/19755
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2017-07-27 21:31:04 +00:00
..
acpi src/acpi: Capitalize ACPI and SATA 2016-07-31 19:25:40 +02:00
arch Port cmos.default handling to C environment bootblock 2017-07-26 19:30:01 +00:00
commonlib Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
console src: add IS_ENABLED() around Kconfig symbol references 2017-07-13 23:57:07 +00:00
cpu Fix files with multiple newlines at the end. 2017-07-24 15:08:08 +00:00
device src/device: Fix checkpatch warning: no spaces at the start of a line 2017-07-25 14:26:20 +00:00
drivers Port cmos.default handling to C environment bootblock 2017-07-26 19:30:01 +00:00
ec ec/lenovo/h8/h8: Always enable tp-smapi and thermal 2017-07-18 19:23:26 +00:00
include timestamp: Apply factor to recorded stamps 2017-07-27 06:55:03 +00:00
lib timestamp: Apply factor to recorded stamps 2017-07-27 06:55:03 +00:00
mainboard soc/amd/common: Convert to C_ENVIRONMENT_BOOTBLOCK 2017-07-27 21:31:04 +00:00
northbridge nb/intel/i440bx: Add final newline to raminit.c 2017-07-24 17:48:54 +00:00
soc soc/amd/common: Convert to C_ENVIRONMENT_BOOTBLOCK 2017-07-27 21:31:04 +00:00
southbridge sb/intel/i82801jx: Add Interrupt pin and routing RCBA offsets macros 2017-07-25 15:15:41 +00:00
superio superio/ite/it8716f: Update init_ec 2017-07-08 19:02:13 +00:00
vboot vboot: Remove get_sw_write_protect_state callback 2017-07-18 23:24:01 +00:00
vendorcode soc/amd/common: Convert to C_ENVIRONMENT_BOOTBLOCK 2017-07-27 21:31:04 +00:00
Kconfig Add support for Undefined Behavior Sanitizer 2017-06-14 19:56:59 +02:00