coreboot-kgpe-d16/src/lib
Werner Zeh 686018988c drivers/pc80/mc146818rtc: Check date and time for sanity
There are cases where the RTC_VRT bit in register D stays set after a
power failure while the real date and time registers can contain rubbish
values (can happen when RTC is not buffered). If we do not detect this
invalid date and/or time here and keep it, Linux will use these bad
values for the initial timekeeper init. This in turn can lead to dates
before 1970 in user land which can break a lot assumptions.

To fix this, check date and time sanity when the RTC is initialized and
reset the values if needed.

Change-Id: I5bc600c78bab50c70372600347f63156df127012
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54914
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-05-30 20:28:14 +00:00
..
gnat
Kconfig cbfs: Increase mcache size defaults 2021-05-14 00:35:46 +00:00
Kconfig.cbfs_verification decompressor: Add CBFS_VERIFICATION support 2021-04-06 07:49:15 +00:00
Makefile.inc drivers/pc80/mc146818rtc: Check date and time for sanity 2021-05-30 20:28:14 +00:00
asan.c lib/asan.c: Update SPDX license 2021-02-01 08:53:22 +00:00
b64_decode.c
bmp_logo.c drivers/intel/fsp1_1,fsp2_0: Refactor logo display 2021-02-09 07:52:31 +00:00
boot_device.c
bootblock.c security/tpm: Add option to init TPM in bootblock 2021-05-06 08:26:41 +00:00
bootmem.c
bootmode.c
bootsplash.c cbfs: Simplify load/map API names, remove type arguments 2020-12-02 22:13:17 +00:00
cb.ads
cbfs.c commonlib/region: Turn addrspace_32bit into a more official API 2021-04-21 02:06:26 +00:00
cbmem_common.c
cbmem_console.c cbmem: Introduce "early" init hooks for console 2021-05-27 23:30:42 +00:00
cbmem_stage_cache.c
compute_ip_checksum.c
coreboot_table.c lib/coreboot_table.c: Remove unnecessary CPP use 2021-05-05 08:12:34 +00:00
crc_byte.c
decompressor.c decompressor: Add CBFS_VERIFICATION support 2021-04-06 07:49:15 +00:00
delay.c
device_tree.c lib/device_tree.c: Remove repeated word 2021-01-18 07:38:49 +00:00
dimm_info_util.c
edid.c
edid_fill_fb.c lib/edid_fill_fb: Relax bits_per_pixel constraint 2021-01-24 11:18:23 +00:00
espi_debug.c lib/espi_debug: Add espi_show_slave_peripheral_channel_configuration 2021-04-23 21:20:26 +00:00
ext_stage_cache.c
fallback_boot.c
fit.c
fit_payload.c cbfs: Remove prog_locate() for payloads (SELF and FIT) 2021-03-17 00:13:53 +00:00
fmap.c commonlib/region: Turn addrspace_32bit into a more official API 2021-04-21 02:06:26 +00:00
fw_config.c fw_config: Add helper function `fw_config_probe_dev` 2021-05-24 16:55:27 +00:00
gcc.c
gcov-glue.c
gcov-io.c
gcov-io.h
gcov-iov.h
gpio.c
halt.c
hardwaremain.c include/console: Rename and update POST_ENTRY_RAMSTAGE postcode 2021-05-12 06:16:05 +00:00
hexdump.c lib/hexdump: remove hexdump32 and use hexdump instead 2021-05-27 15:41:15 +00:00
hexstrtobin.c
hw-time-timer.adb
imd.c
imd_cbmem.c
jpeg.c
jpeg.h
libgcc.c
libgcov.c
list.c
lzma.c
lzmadecode.c
lzmadecode.h
malloc.c lib: Add obvious definition for `calloc` 2021-04-06 06:50:38 +00:00
memchr.c
memcmp.c
memcpy.c
memmove.c
memrange.c
memset.c
metadata_hash.c src: Drop "This file is part of the coreboot project" lines 2021-05-10 15:07:33 +00:00
nhlt.c cbfs: Replace more instances of cbfs_boot_locate() with newer APIs 2021-03-17 08:10:20 +00:00
primitive_memtest.c
prog_loaders.c commonlib/region: Turn addrspace_32bit into a more official API 2021-04-21 02:06:26 +00:00
prog_ops.c
program.ld cbmem: Introduce "early" init hooks for console 2021-05-27 23:30:42 +00:00
ramdetect.c
ramtest.c src: Remove useless comments in "includes" lines 2021-02-04 10:18:49 +00:00
reg_script.c
region_file.c
reset.c
rmodule.c cbfs: Make `mdata` argument to cbfs_allocator_t const 2021-04-05 22:59:02 +00:00
rmodule.ld
romstage_handoff.c ACPI S3: Replace stashed acpi_slp_typ value 2021-01-23 20:19:47 +00:00
rtc.c lib/rtc: Add sanity check for time and date 2021-05-30 20:24:13 +00:00
selfboot.c cbfs: Remove prog_locate() for payloads (SELF and FIT) 2021-03-17 00:13:53 +00:00
spd_bin.c spd_bin: Replace get_spd_cbfs_rdev() with spd_cbfs_map() 2021-03-17 08:10:35 +00:00
spd_cache.c
stack.c
string.c
thread.c
timer.c
timer_queue.c
timestamp.c
ubsan.c
uuid.c
version.c
wrdd.c