drivers/crypto/ccp/sev-dev.h
Source file repositories/reference/linux-study-clean/drivers/crypto/ccp/sev-dev.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/crypto/ccp/sev-dev.h- Extension
.h- Size
- 1920 bytes
- Lines
- 87
- Domain
- Driver Families
- Bucket
- drivers/crypto
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/device.hlinux/spinlock.hlinux/mutex.hlinux/list.hlinux/wait.hlinux/dmapool.hlinux/hw_random.hlinux/bitops.hlinux/interrupt.hlinux/irqreturn.hlinux/dmaengine.hlinux/psp-sev.hlinux/miscdevice.hlinux/capability.h
Detected Declarations
struct sev_misc_devstruct sev_tio_statusstruct sev_device
Annotated Snippet
struct sev_misc_dev {
struct kref refcount;
struct miscdevice misc;
};
struct sev_tio_status;
struct sev_device {
struct device *dev;
struct psp_device *psp;
void __iomem *io_regs;
struct sev_vdata *vdata;
unsigned int int_rcvd;
wait_queue_head_t int_queue;
struct sev_misc_dev *misc;
u8 api_major;
u8 api_minor;
u8 build;
void *cmd_buf;
void *cmd_buf_backup;
bool cmd_buf_active;
bool cmd_buf_backup_active;
bool snp_initialized;
struct sev_user_data_status sev_plat_status;
struct sev_user_data_snp_status snp_plat_status;
struct snp_feature_info snp_feat_info_0;
struct tsm_dev *tsmdev;
struct sev_tio_status *tio_status;
};
int sev_dev_init(struct psp_device *psp);
void sev_dev_destroy(struct psp_device *psp);
int __sev_do_cmd_locked(int cmd, void *data, int *psp_ret);
void sev_pci_init(void);
void sev_pci_exit(void);
struct page *snp_alloc_hv_fixed_pages(unsigned int num_2mb_pages);
void snp_free_hv_fixed_pages(struct page *page);
void sev_tsm_init_locked(struct sev_device *sev, void *tio_status_page);
void sev_tsm_uninit(struct sev_device *sev);
int sev_tio_cmd_buffer_len(int cmd);
#endif /* __SEV_DEV_H */
Annotation
- Immediate include surface: `linux/device.h`, `linux/spinlock.h`, `linux/mutex.h`, `linux/list.h`, `linux/wait.h`, `linux/dmapool.h`, `linux/hw_random.h`, `linux/bitops.h`.
- Detected declarations: `struct sev_misc_dev`, `struct sev_tio_status`, `struct sev_device`.
- Atlas domain: Driver Families / drivers/crypto.
- 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.