include/uapi/linux/psp-sev.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/psp-sev.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/psp-sev.h- Extension
.h- Size
- 9257 bytes
- Lines
- 293
- 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/types.h
Detected Declarations
struct sev_user_data_statusstruct sev_user_data_pek_csrstruct sev_user_data_pek_cert_importstruct sev_user_data_pdh_cert_exportstruct sev_user_data_get_idstruct sev_user_data_get_id2struct sev_user_data_snp_statusstruct sev_user_data_snp_configstruct sev_user_data_snp_vlek_loadstruct sev_user_data_snp_wrapped_vlek_hashstickstruct sev_issue_cmd
Annotated Snippet
struct sev_user_data_status {
__u8 api_major; /* Out */
__u8 api_minor; /* Out */
__u8 state; /* Out */
__u32 flags; /* Out */
__u8 build; /* Out */
__u32 guest_count; /* Out */
} __packed;
#define SEV_STATUS_FLAGS_CONFIG_ES 0x0100
/**
* struct sev_user_data_pek_csr - PEK_CSR command parameters
*
* @address: PEK certificate chain
* @length: length of certificate
*/
struct sev_user_data_pek_csr {
__u64 address; /* In */
__u32 length; /* In/Out */
} __packed;
/**
* struct sev_user_data_cert_import - PEK_CERT_IMPORT command parameters
*
* @pek_address: PEK certificate chain
* @pek_len: length of PEK certificate
* @oca_address: OCA certificate chain
* @oca_len: length of OCA certificate
*/
struct sev_user_data_pek_cert_import {
__u64 pek_cert_address; /* In */
__u32 pek_cert_len; /* In */
__u64 oca_cert_address; /* In */
__u32 oca_cert_len; /* In */
} __packed;
/**
* struct sev_user_data_pdh_cert_export - PDH_CERT_EXPORT command parameters
*
* @pdh_address: PDH certificate address
* @pdh_len: length of PDH certificate
* @cert_chain_address: PDH certificate chain
* @cert_chain_len: length of PDH certificate chain
*/
struct sev_user_data_pdh_cert_export {
__u64 pdh_cert_address; /* In */
__u32 pdh_cert_len; /* In/Out */
__u64 cert_chain_address; /* In */
__u32 cert_chain_len; /* In/Out */
} __packed;
/**
* struct sev_user_data_get_id - GET_ID command parameters (deprecated)
*
* @socket1: Buffer to pass unique ID of first socket
* @socket2: Buffer to pass unique ID of second socket
*/
struct sev_user_data_get_id {
__u8 socket1[64]; /* Out */
__u8 socket2[64]; /* Out */
} __packed;
/**
* struct sev_user_data_get_id2 - GET_ID command parameters
* @address: Buffer to store unique ID
* @length: length of the unique ID
*/
struct sev_user_data_get_id2 {
__u64 address; /* In */
__u32 length; /* In/Out */
} __packed;
/**
* struct sev_user_data_snp_status - SNP status
*
* @api_major: API major version
* @api_minor: API minor version
* @state: current platform state
* @is_rmp_initialized: whether RMP is initialized or not
* @rsvd: reserved
* @build_id: firmware build id for the API version
* @mask_chip_id: whether chip id is present in attestation reports or not
* @mask_chip_key: whether attestation reports are signed or not
* @vlek_en: VLEK (Version Loaded Endorsement Key) hashstick is loaded
* @feature_info: whether SNP_FEATURE_INFO command is available
* @rapl_dis: whether RAPL is disabled
* @ciphertext_hiding_cap: whether platform has ciphertext hiding capability
* @ciphertext_hiding_en: whether ciphertext hiding is enabled
* @rsvd1: reserved
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct sev_user_data_status`, `struct sev_user_data_pek_csr`, `struct sev_user_data_pek_cert_import`, `struct sev_user_data_pdh_cert_export`, `struct sev_user_data_get_id`, `struct sev_user_data_get_id2`, `struct sev_user_data_snp_status`, `struct sev_user_data_snp_config`, `struct sev_user_data_snp_vlek_load`, `struct sev_user_data_snp_wrapped_vlek_hashstick`.
- 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.