include/linux/tboot.h
Source file repositories/reference/linux-study-clean/include/linux/tboot.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/tboot.h- Extension
.h- Size
- 3340 bytes
- Lines
- 142
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/acpi.h
Detected Declarations
struct tboot_mac_regionstruct tboot_acpi_generic_addressstruct tboot_acpi_sleep_infostruct tboot
Annotated Snippet
struct tboot_mac_region {
u64 start; /* must be 64 byte -aligned */
u32 size; /* must be 64 byte -granular */
} __packed;
/* GAS - Generic Address Structure (ACPI 2.0+) */
struct tboot_acpi_generic_address {
u8 space_id;
u8 bit_width;
u8 bit_offset;
u8 access_width;
u64 address;
} __packed;
/*
* combines Sx info from FADT and FACS tables per ACPI 2.0+ spec
* (https://uefi.org/specifications)
*/
struct tboot_acpi_sleep_info {
struct tboot_acpi_generic_address pm1a_cnt_blk;
struct tboot_acpi_generic_address pm1b_cnt_blk;
struct tboot_acpi_generic_address pm1a_evt_blk;
struct tboot_acpi_generic_address pm1b_evt_blk;
u16 pm1a_cnt_val;
u16 pm1b_cnt_val;
u64 wakeup_vector;
u32 vector_width;
u64 kernel_s3_resume_vector;
} __packed;
/*
* shared memory page used for communication between tboot and kernel
*/
struct tboot {
/*
* version 3+ fields:
*/
/* TBOOT_UUID */
u8 uuid[16];
/* version number: 5 is current */
u32 version;
/* physical addr of tb_log_t log */
u32 log_addr;
/*
* physical addr of entry point for tboot shutdown and
* type of shutdown (TB_SHUTDOWN_*) being requested
*/
u32 shutdown_entry;
u32 shutdown_type;
/* kernel-specified ACPI info for Sx shutdown */
struct tboot_acpi_sleep_info acpi_sinfo;
/* tboot location in memory (physical) */
u32 tboot_base;
u32 tboot_size;
/* memory regions (phys addrs) for tboot to MAC on S3 */
u8 num_mac_regions;
struct tboot_mac_region mac_regions[MAX_TB_MAC_REGIONS];
/*
* version 4+ fields:
*/
/* symmetric key for use by kernel; will be encrypted on S3 */
u8 s3_key[TB_KEY_SIZE];
/*
* version 5+ fields:
*/
/* used to 4byte-align num_in_wfs */
u8 reserved_align[3];
/* number of processors in wait-for-SIPI */
u32 num_in_wfs;
} __packed;
/*
* UUID for tboot data struct to facilitate matching
* defined as {663C8DFF-E8B3-4b82-AABF-19EA4D057A08} by tboot, which is
* represented as {} in the char array used here
*/
Annotation
- Immediate include surface: `linux/acpi.h`.
- Detected declarations: `struct tboot_mac_region`, `struct tboot_acpi_generic_address`, `struct tboot_acpi_sleep_info`, `struct tboot`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.