Expand description
AMD SEV-SNP specific definitions.
Structs§
- Ghcb
Hypercall Parameters - Struct representing GHCB hypercall parameters. These are located at the GHCB
page starting at
GHCB_PAGE_HYPERCALL_PARAMETERS_OFFSET. - Ghcb
Info - GhcbMsr
- Ghcb
Page - Ghcb
Page HvHypercall - GHCB layout for the secure enlightened Hyper-V hypercalls.
- Ghcb
Protocol Version - Ghcb
Save Area - Ghcb
Usage - Guest
Field Select - Indicate which guest-selectable fields will be mixed into the key.
See
GUEST_FIELD_SELECTin Table 19, “SEV Secure Nested Paging Firmware ABI specification”, Revision 1.55. - HvPsp
Cpuid Leaf - PSP data structures.
- HvPsp
Cpuid Page - MovCrx
DrxInfo - Secure
Avic Control - SEV secure AVIC control register
- SevAvic
Incomplete IpiInfo1 - AVIC exit info1 for the incomplete IPI exit
- SevAvic
Incomplete IpiInfo2 - AVIC exit info2 for the incomplete IPI exit
- SevAvic
IpiFailure - SevAvic
IrrRegister - Structure representing the SEV-ES AVIC IRR register.
- SevAvic
NoAccel Info - AVIC SEV exit info1 for the no acceleration exit
- SevAvic
Page - Structure representing the SEV-ES AVIC backing page. Specification: “AMD64 PPR Vol3 System Programming”, 15.29.3 AVIC Backing Page.
- SevAvic
Register Number - SevEvent
Inject Info - SevExit
Code - SevFeatures
- SevInvlpgb
Ecx - SevInvlpgb
Edx - SevInvlpgb
Rax - SevIo
Access Info - SevNpf
Info - SevRmp
Adjust - SevSelector
- A X64 selector register.
- SevStatus
Msr - SevVirtual
Interrupt Control - SevVmsa
- SEV VMSA structure representing CPU state
- SevXmm
Register - An X64 XMM register.
- SnpDerived
KeyReq - Request structure for the
SNP_GET_DERIVED_KEYrequest. SeeMSG_KEY_REQin Table 18, “SEV Secure Nested Paging Firmware ABI specification”, Revision 1.55. - SnpDerived
KeyResp - Response structure for the
SNP_GET_DERIVED_KEYrequest. SeeMSG_KEY_RSPin Table 20, “SEV Secure Nested Paging Firmware ABI specification”, Revision 1.55. - SnpId
Block Public Key - Public key used by an SNP ID block.
- SnpId
Block Signature - ECDSA signature components used by an SNP ID block.
- SnpPage
Info - Structure describing the pages being read during SNP ID block measurement. Each structure is hashed with the previous structures digest to create a final measurement
- SnpPage
Type - The type of page described by
SnpPageInfo - SnpPsp
IdAuth - SNP PSP ID block authentication page.
- SnpPsp
IdAuth Public Key - ECDSA public key in an SNP PSP ID authentication page.
- SnpPsp
IdAuth Signature - ECDSA signature in an SNP PSP ID authentication page.
- SnpPsp
IdBlock - Structure containing the completed SNP measurement of the IGVM file.
The signature of the hash of this struct is the id_key_signature for
igvm_defs::IGVM_VHS_SNP_ID_BLOCK. - SnpReport
- SNP attestation report layout.
See
ATTESTATION_REPORTin the SEV-SNP Firmware ABI specification (AMD 56860). - SnpReport
Req - Request structure for the
SNP_GET_REPORTrequest. SeeMSG_REPORT_REQin Table 21, “SEV Secure Nested Paging Firmware ABI specification”, Revision 1.55. - SnpReport
Resp - Response structure for the
SNP_GET_REPORTrequest. SeeMSG_REPORT_RSPin Table 24, “SEV Secure Nested Paging Firmware ABI specification”, Revision 1.55. - SnpTcb
Version Legacy - Eight-byte
TCB_VERSIONencoding for Milan/Genoa (family 19h, models 00h–1Fh), in little-endian byte order. See AMD 56860 revision 1.59, section 2.3, table 5. - SnpTcb
Version Turin - Eight-byte
TCB_VERSIONencoding for Turin (family 1Ah, models 90h–AFh and C0h–CFh), in little-endian byte order. See AMD 56860 revision 1.59, section 2.3, table 4.
Enums§
Constants§
- GHCB_
DATA_ PAGE_ STATE_ LARGE_ PAGE - GHCB_
DATA_ PAGE_ STATE_ MASK - GHCB_
DATA_ PAGE_ STATE_ PRIVATE - GHCB_
DATA_ PAGE_ STATE_ PSMASH - GHCB_
DATA_ PAGE_ STATE_ SHARED - GHCB_
DATA_ PAGE_ STATE_ UNSMASH - GHCB_
HYP_ FEATURE_ GHCB_ UNREGISTER - GHCB 2.04 feature bitmap bit for unregistering the current GHCB GPA.
- GHCB_
PAGE_ HV_ HYPERCALL_ DATA_ SIZE - GHCB_
PAGE_ HYPERCALL_ OUTPUT_ OFFSET - GHCB_
PAGE_ HYPERCALL_ PARAMETERS_ OFFSET - HV_
PSP_ CPUID_ LEAF_ COUNT_ MAX - REG_
TWEAK_ BITMAP_ OFFSET - REG_
TWEAK_ BITMAP_ SIZE - SEV_
INTR_ TYPE_ EXCEPT - SEV_
INTR_ TYPE_ EXT - SEV_
INTR_ TYPE_ NMI - SEV_
INTR_ TYPE_ SW - SNP_
CPUID_ FAMILY_ MILAN_ GENOA - CPUID family containing Milan/Genoa, as reported by
SnpReport::cpuid_fam_id. Select the TCB layout using the model as well: AMD 56860 revision 1.59, section 2.3, table 5 covers models 00h–1Fh. - SNP_
CPUID_ FAMILY_ TURIN - CPUID family containing Turin, as reported by
SnpReport::cpuid_fam_id. This family is not exclusive to Turin: AMD 56860 revision 1.59, section 2.3, table 4 selects the Turin TCB layout for models 90h–AFh and C0h–CFh. - SNP_
CPUID_ MODELS_ MILAN_ GENOA - Milan/Genoa model IDs within
SNP_CPUID_FAMILY_MILAN_GENOAthat useSnpTcbVersionLegacy. AMD 56860 revision 1.59, section 2.3, table 5. - SNP_
CPUID_ MODELS_ TURIN_ 90_ AF - First Turin model-ID range within
SNP_CPUID_FAMILY_TURIN. AMD 56860 revision 1.59, section 2.3, table 4: models 90h–AFh. - SNP_
CPUID_ MODELS_ TURIN_ C0_ CF - Second Turin model-ID range within
SNP_CPUID_FAMILY_TURIN. AMD 56860 revision 1.59, section 2.3, table 4: models C0h–CFh. - SNP_
DERIVED_ KEY_ SIZE - See
DERIVED_KEYin Table 20, “SEV Secure Nested Paging Firmware ABI specification”, Revision 1.55. - SNP_
GUEST_ REQ_ MSG_ VERSION - Value for the
msg_versionmember inSNP_GUEST_REQ_MSG_VERSION. Use 1 for now. - SNP_
REPORT_ DATA_ SIZE - Size of
report_datamember inSnpReport. - SNP_
REPORT_ RESP_ DATA_ SIZE - SNP_
REPORT_ SIZE - Size of the
SnpReport.