coreboot/payloads/libpayload/include
Hsin-Te Yuan cb28d649ea x86/cache.c: Implement dcache_*
A new ChromeOS automated test will be introduced to check the cbmem log
of diagnostic boot mode. Because the diagnostic boot does not allow
booting into kernel, the test must perform AP reset and then check the
cbmem log afterwards. However, the memory content might not be written
back to memory (from CPU cache) during AP reset because of the cache
snooping mechanism on x86. Hence, some API to flush cache is needed.

Implement dcache_* to allow flushing cache proactively in x86. To avoid
unnecessary flush, check dma_coherent before calling dcache_* functions,
which will be always true in x86. Therefore, this change won't affect
the original functionality.

BUG=b:190026346
TEST=FW_NAME=primus emerge-brya libpayload

Cq-Depend: chromium:3841252
Signed-off-by: Hsin-Te Yuan <yuanhsinte@google.com>
Change-Id: I622d8b1cc652cbe477954a900885d12e6494d94d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66578
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-09-01 14:21:11 +00:00
..
arm/arch libpayload: Fix guards in include/{arm,arm64,x86}/arch/barrier.h 2022-05-16 06:55:06 +00:00
arm64/arch libpayload: Fix guards in include/{arm,arm64,x86}/arch/barrier.h 2022-05-16 06:55:06 +00:00
arpa treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
mock/arch tests: Move x86 I/O functions to include/mock/arch/io.h 2021-11-04 15:07:38 +00:00
pci libpayload/storage: Add NVMe driver 2021-04-07 10:58:04 +00:00
storage libpayload/storage: Add NVMe driver 2021-04-07 10:58:04 +00:00
sys treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
udc treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
usb libpayload/usb: Add format string checking to usb_debug 2020-11-22 22:34:55 +00:00
x86/arch x86/cache.c: Implement dcache_* 2022-09-01 14:21:11 +00:00
archive.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
assert.h libpayload: Add mock assert support for unit testing purposes 2021-11-23 23:38:15 +00:00
boot_device.h libpayload: Add boot_device_read() function 2021-12-10 17:56:34 +00:00
cbfs.h libpayload/libcbfs: Add unverified_area APIs 2022-01-12 16:15:59 +00:00
cbfs_core.h libpayload: Implement new CBFS access API 2022-01-10 14:30:04 +00:00
cbfs_glue.h libpayload: Implement new CBFS access API 2022-01-10 14:30:04 +00:00
cbfs_legacy.h libpayload: Fix legacy CBFS code after recent refactoring 2022-01-14 00:41:13 +00:00
cbfs_ram.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cbgfx.h libpayload: cbgfx: Support buffered I/O 2020-08-28 21:40:58 +00:00
coreboot_tables.h coreboot_tables: Add PCIe info to coreboot table 2022-05-19 16:34:55 +00:00
ctype.h payloads: Drop unneeded empty lines 2020-09-21 16:20:57 +00:00
die.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
endian.h treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
errno.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
exception.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
fmap.h commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
fpmath.h libpayload: Add simple 32.32 fixed-point math API 2020-07-09 00:32:11 +00:00
gdb.h libpayload: gdb: Factor out gdb_handle_reentrant_exception() from arm32 2018-10-12 20:17:40 +00:00
getopt.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
inttypes.h libpayload: Start using only internal and compiler headers. 2013-03-13 22:04:44 +01:00
ipchksum.h treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
kconfig.h Add new CONFIG(XXX) macro to replace IS_ENABLED(CONFIG_XXX) 2019-03-07 17:06:28 +00:00
keycodes.h libpayload: Make keycode constants available outside of curses.h. 2013-03-18 20:45:48 +01:00
libpayload.h libpayload: Add commonlib/bsd/elog and its dependency 2022-06-09 13:33:35 +00:00
limits.h includes: Define CHAR_BIT in limits.h 2021-06-18 04:38:33 +00:00
lz4.h cbfs: Add LZ4 in-place decompression support for pre-RAM stages 2016-02-22 21:38:37 +01:00
lzma.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
malloc.h libpayload: Provide atol(), malloc.h 2011-07-07 22:29:53 +02:00
multiboot_tables.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
panel.h libpayload: Add PDCurses and ncurses' libform/libmenu 2011-08-04 08:10:41 +02:00
pci.h libpayload/pci: Add support for bus mapping 2022-05-20 02:51:33 +00:00
queue.h payloads: Drop unneeded empty lines 2020-09-21 16:20:57 +00:00
stdarg.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
stdbool.h libpayload: Add <stdbool.h> 2020-10-26 06:57:06 +00:00
stddef.h commonlib/bsd/helpers: Remove redundancy with libpayload defines 2022-03-30 21:21:47 +00:00
stdint.h libpayload: Fix definitions of minimum integer values 2020-05-18 07:34:55 +00:00
stdio.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
stdlib.h libpayload: Add const for dma_coherent argument 2022-08-24 21:27:46 +00:00
string.h payloads: Drop unneeded empty lines 2020-09-21 16:20:57 +00:00
strings.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
sysinfo.h coreboot_tables: Add PCIe info to coreboot table 2022-05-19 16:34:55 +00:00
term.h libpayload: remove trailing whitespace and run dos2unix 2011-11-01 19:08:23 +01:00
time.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
unistd.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
video_console.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
wchar.h includes: Provide wchar.h with wchar_t and wint_t 2021-06-18 04:38:16 +00:00