coreboot-kgpe-d16/util
Julius Werner d67c6876b5 Turn CBMEM console into a ring buffer that can persist across reboots
This patch allows the CBMEM console to persist across reboots, which
should greatly help post factum debugging of issues involving multiple
reboots. In order to prevent the console from filling up, it will
instead operate as a ring buffer that continues to evict the oldest
lines once full. (This means that if even a single boot doesn't fit into
the buffer, we will now drop the oldest lines whereas previous code
would've dropped the newest lines instead.)

The console control structure is modified in a sorta
backwards-compatible way, so that new readers can continue to work with
old console buffers and vice versa. When an old reader reads a new
buffer that has already once overflowed (i.e. is operating in true ring
buffer mode) it will print lines out of order, but it will at least
still print out the whole console content and not do any illegal memory
accesses (assuming it correctly implemented cursor overflow as it was
already possible before this patch).

BUG=chromium:651966
TEST=Rebooted and confirmed output repeatedly on a Kevin and a Falco.
Also confirmed correct behavior across suspend/resume for the latter.

Change-Id: Ifcbf59d58e1ad20995b98d111c4647281fbb45ff
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/18301
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-04-20 00:29:07 +02:00
..
abuild abuild: add timeless build command line parameter 2017-04-04 17:47:21 +02:00
acpi
amdfwtool util/amdfwtool: Add fanless SMU firmware options 2017-03-28 22:26:19 +02:00
amdtools Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
archive archive: build archive tool with HOSTCC 2016-03-08 17:40:05 +01:00
arm_boot_tools/mksunxiboot
autoport util/autoport: Create superiotool logs 2017-03-14 23:03:29 +01:00
bimgtool
blobtool util/blobtool & sconfig: Update GENPARSER Kconfig question 2017-04-14 17:26:48 +02:00
board_status board_status/towiki.sh: Fix Socket for Sandy and Ivy Bridge 2017-03-14 02:32:36 +01:00
broadcom util/broadcom: Check for successful file access 2016-12-16 18:22:43 +01:00
cbfstool cbfstool/ifwitool: Remove unnecessary assignment 2017-03-29 15:43:38 +02:00
cbmem Turn CBMEM console into a ring buffer that can persist across reboots 2017-04-20 00:29:07 +02:00
checklist
chromeos
crossgcc crossgcc/Dockerfile: Add gnat to build the Ada toolchain 2017-03-23 18:55:18 +01:00
docker util/docker: Update makefile for servers and local use 2017-04-04 01:49:59 +02:00
dtd_parser
ectool ectool: Support OpenBSD 2017-02-02 15:29:10 +01:00
exynos
futility util/futility/Makefile: Update clean target 2017-03-29 05:16:49 +02:00
fuzz-tests
genbuild_h
genprof
gitconfig Rename and move util/gitconfig/rebase.sh 2016-10-25 17:09:19 +02:00
ifdfake util/ifdfake: Add number of regions 2016-12-15 23:47:09 +01:00
ifdtool ifdtool: Add SPI_FREQUENCY_50MHZ_30MHZ as a valid freq 2017-03-10 11:20:39 +01:00
intelmetool util/intelmetool: Check for NULL return from pci_lookup_name 2017-04-04 20:48:34 +02:00
inteltool util/inteltool: Add ICH10 (Consumer Base) support 2017-04-15 20:06:08 +02:00
intelvbttool
ipqheader
k8resdump
kconfig Kconfig: Change symbol override from warning to notice 2016-12-12 17:53:32 +01:00
lint util/lint: Show an error if a symbol is created in two choice blocks 2017-03-27 05:53:57 +02:00
marvell
me_cleaner util/me_cleaner: Pull the latest changes from upstream 2017-03-02 22:04:08 +01:00
mma
msrtool util/msrtool: Use tabs for indents 2016-10-19 17:02:07 +02:00
mtkheader util: Look for python2 binary instead of python 2016-01-26 00:25:19 +01:00
nvidia
nvramtool
optionlist
post
release util/release/build-release: Update tar command 2016-10-07 18:18:47 +02:00
riscvtools RISCV: change make-spike-elf to use the coreboot toolchain. 2016-10-15 00:34:27 +02:00
rockchip
romcc util/romcc: Don't reference a variable after checking it for NULL 2017-02-10 18:01:52 +01:00
sconfig util/blobtool & sconfig: Update GENPARSER Kconfig question 2017-04-14 17:26:48 +02:00
scripts util/scripts/get_maintainer.pl: Remove linux tree check 2017-03-07 15:03:45 +01:00
showdevicetree
spkmodem_recv
superiotool util/superiotool: Add support for Fintek F71808A 2017-03-13 17:10:02 +01:00
uio_usbdebug
vgabios Remove extra newlines from the end of all coreboot files. 2016-07-31 18:19:33 +02:00
viatool
xcompile util/xcompile: parallelize compiler checks 2017-01-31 18:51:47 +01:00