1What:		/sys/bus/coreboot
2Date:		August 2022
3Contact:	Jack Rosenthal <jrosenth@chromium.org>
4Description:
5		The coreboot bus provides a variety of virtual devices used to
6		access data structures created by the Coreboot BIOS.
7
8What:		/sys/bus/coreboot/devices/cbmem-<id>
9Date:		August 2022
10Contact:	Jack Rosenthal <jrosenth@chromium.org>
11Description:
12		CBMEM is a downwards-growing memory region created by Coreboot,
13		and contains tagged data structures to be shared with payloads
14		in the boot process and the OS.  Each CBMEM entry is given a
15		directory in /sys/bus/coreboot/devices based on its id.
16		A list of ids known to Coreboot can be found in the coreboot
17		source tree at
18		``src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h``.
19
20What:		/sys/bus/coreboot/devices/cbmem-<id>/address
21Date:		August 2022
22Contact:	Jack Rosenthal <jrosenth@chromium.org>
23Description:
24		This is the physical memory address that the CBMEM entry's data
25		begins at, in hexadecimal (e.g., ``0x76ffe000``).
26
27What:		/sys/bus/coreboot/devices/cbmem-<id>/size
28Date:		August 2022
29Contact:	Jack Rosenthal <jrosenth@chromium.org>
30Description:
31		This is the size of the CBMEM entry's data, in hexadecimal
32		(e.g., ``0x1234``).
33
34What:		/sys/bus/coreboot/devices/cbmem-<id>/mem
35Date:		August 2022
36Contact:	Jack Rosenthal <jrosenth@chromium.org>
37Description:
38		A file exposing read/write access to the entry's data.  Note
39		that this file does not support mmap(), as coreboot
40		does not guarantee that the data will be page-aligned.
41
42		The mode of this file is 0600.  While there shouldn't be
43		anything security-sensitive contained in CBMEM, read access
44		requires root privileges given this is exposing a small subset
45		of physical memory.
46