coreboot-kgpe-d16/src/include
Julius Werner d82e0cf331 Fix non-x86 __PRE_RAM__ assertions and add FATAL_ASSERTS Kconfig option
This patch fixes a bug that caused non-x86 boards to use the poor man's
assert() version with a lot more instructions per invocation and
hexadecimal line numbers in __PRE_RAM__ environments. This was really
just an oversight in the ARM port... even x86 uses a proper printk() in
most cases (those with CAR) and there's no reason not to do so on the
generally even more flexible SRAM-based architectures.

Additionally, it adds a new Kconfig option to make failed assertions and
BUG() calls halt again. This seems to have been the original intention,
but was commented out once out of fear that this might prevent
production systems from booting. It is still a useful debugging feature
though (since otherwise assertions can easily just scroll past and get
overlooked), so the user should be able to decide the this based on his
needs.

(Also changed error messages for both to include the word "ERROR", since
grepping for that is the most sophisticated way we currently have to
detect firmware problems. Some automated Chromium OS suspend tests check
for that.)

BRANCH=veyron
BUG=None
TEST=Booted Jerry. Compared binary sizes before and after, new version's
bootblock is some ~600 bytes smaller.

Change-Id: I894da18d77e12bf104e443322e2d58e60564e4b7
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 6a5343124719c18a1c969477e3d18bda13c0bf26
Original-Change-Id: I0268cfd67d8c894406b18bb3759a577944bcffb1
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/250661
Original-Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9775
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <edward.ocallaghan@koparo.com>
2015-04-17 10:11:33 +02:00
..
boot uart: pass register width in the coreboot table 2015-04-17 09:53:39 +02:00
console Add console wrapper for UART driver 2015-04-14 21:25:34 +02:00
cpu baytrail: Switch from ACPI mode to PCI mode for legacy support 2015-04-10 19:21:49 +02:00
device PCI - Add interrupt disable bit definition 2015-04-10 20:10:55 +02:00
pc80 drivers/pc80/mc146818rtc: Reduce superfluous preprocessor use 2015-02-06 23:56:04 +01:00
smp atomic.h: Fix doxygen errors 2015-01-04 20:03:28 +01:00
superio superio/common/conf_mode.c: Introduce 'new' enter/exit keys for SIO's 2014-11-01 21:27:50 +01:00
tpm_lite vboot2: read secdata and nvdata 2015-03-23 19:51:47 +01:00
antirollback.h vboot: Include vb2_api.h, instead of lower-level vboot2 header files 2015-04-10 16:49:15 +02:00
assert.h Fix non-x86 __PRE_RAM__ assertions and add FATAL_ASSERTS Kconfig option 2015-04-17 10:11:33 +02:00
base3.h gpio: Remove non-ternary tristate mode, make ternaries easier 2015-04-10 11:57:44 +02:00
bcd.h rtc: Add an RTC API, and implement it for x86. 2014-12-30 19:28:27 +01:00
boardid.h cbtables: Add RAM config information 2015-04-10 16:47:44 +02:00
bootmem.h
bootmode.h chromeos: Unconditionally clear the EC recovery request 2014-12-30 23:30:52 +01:00
bootstate.h bootstate: use structure pointers for scheduling callbacks 2015-03-18 16:41:43 +01:00
cbfs.h cbfs: look for CBFS header in a predefined place 2015-04-17 09:54:40 +02:00
cbfs_core.h cbfs: add cbfs_serialized.h header file 2015-03-31 23:01:39 +02:00
cbfs_serialized.h CBFS: Automate ROM image layout and remove hardcoded offsets 2015-04-14 09:01:27 +02:00
cbmem.h chromeos: Add WiFi calibration CBMEM entry pointer to coreboot table 2015-04-02 13:32:04 +02:00
delay.h timer: Reestablish init_timer(), consolidate timer initialization calls 2015-04-14 09:03:28 +02:00
edid.h edid: remove float use 2014-12-16 21:31:35 +01:00
elog.h nyan*: Add an empty elog functions for the !CONFIG_ELOG case 2014-12-30 21:28:50 +01:00
endian.h
fallback.h
gic.h drivers: add GIC support 2015-03-28 07:05:03 +01:00
gpio.h gpio: add a function to read GPIO array as base-2 value 2015-04-10 11:59:30 +02:00
halt.h Introduce halt() 2014-11-30 12:20:05 +01:00
inttypes.h
ip_checksum.h
kconfig.h
lib.h New mechanism to define SRAM/memory map with automatic bounds checking 2015-04-06 22:05:01 +02:00
memlayout.h cbfs: look for CBFS header in a predefined place 2015-04-17 09:54:40 +02:00
memory_info.h smbios: add funtion for smbios type17 2015-03-27 09:55:21 +01:00
memrange.h coreboot memrange: Two changes for zero size or empty memrange 2015-03-04 19:55:19 +01:00
option.h
program_loading.h program loading: unify on struct prog 2015-04-03 14:53:11 +02:00
ramstage_cache.h
reg_script.h Add table driven way to add platform specific reg_script routines 2015-04-04 12:40:29 +02:00
reset.h vboot2: implement select_firmware for pre-romstage verification 2015-01-27 01:43:01 +01:00
rmodule-defs.h
rmodule.h rmodule: use struct prog while loading rmodules 2015-04-03 14:53:35 +02:00
romstage_handoff.h Add predefined __ROMSTAGE__ and __RAMSTAGE__ macros 2015-04-06 19:15:37 +02:00
rtc.h drivers/pc80/mc146818rtc: Assume we always have ALTCENTURY 2014-12-30 22:10:41 +01:00
rules.h build system: rename __BOOT_BLOCK__ and __VER_STAGE__ 2015-04-04 20:07:18 +02:00
sdram_mode.h
smbios.h smbios: add a family id in smbios type1 family 2015-04-02 13:26:05 +02:00
spd.h smbios: add funtion for smbios type17 2015-03-27 09:55:21 +01:00
spd_cache.h
spd_ddr2.h
spi-generic.h spi: support controllers with limited transfer size capabilities 2015-04-13 13:01:33 +02:00
spi_flash.h spi: Add function to read flash status register 2015-04-17 09:21:22 +02:00
stddef.h stddef: Add KHz, MHz and GHz constants 2015-04-04 15:01:51 +02:00
stdlib.h stdlib: Add IS_ALIGNED macro 2015-03-20 10:01:22 +01:00
string.h Replace includes of build.h with version.h 2014-11-20 07:28:37 +01:00
swab.h
symbols.h cbfs: look for CBFS header in a predefined place 2015-04-17 09:54:40 +02:00
thread.h
timer.h timer: remove rela_time type 2015-03-26 08:53:53 +01:00
timestamp.h timestamps: You can never have enough of them! 2015-04-14 09:03:40 +02:00
tpm.h tpm: Clean up I2C TPM driver 2014-09-10 19:37:49 +02:00
trace.h
types.h include/types.h: Provide BIT() macro 2015-02-06 19:25:57 +01:00
vbe.h intel/gma: Clarify code and use dedicated init for Google Peppy 2014-08-25 22:36:03 +02:00
version.h build.h: remove variable for the builduser, -hostname and -domain 2015-03-09 17:53:16 +01:00
watchdog.h