Expand description
The TDCALL instruction causes a VM exit to the Intel TDX module.
It is used to call guest-side Intel TDX functions. For more information about TDCALL, please refer to the Intel® TDX Module v1.5 ABI Specification
Structs§
- GlaList
Entry - The
GlaListEntry
species a range of consecutive guest linear addresses, each aligned on 4KB. - GlaList
Info - The
GlaListInfo
is used as a GPR input and output operand of TDG.VP.INVGLA. - GpaAttr
- GPA Attributes (Single VM) Definition.
- GpaAttr
All - GPA Attributes (all VMs) Definition.
- Guest
TdAttributes - GuestTdAttributes is defined as a 64b field that specifies various guest TD attributes. It is reported to the guest TD by TDG.VP.INFO and as part of TDREPORT_STRUCT returned by TDG.MR.REPORT.
- L2Enter
Guest State - L2EnterGuestState is used as input and output of enter_l2_vcpu.
- Page
Attr - Report
Mac - Report
Type - REPORTTYPE indicates the reported Trusted Execution Environment (TEE) type, sub-type and version.
- TdInfo
- TDINFO_STRUCT is defined as the TDX-specific TEE_INFO part of TDG.MR.REPORT.
- TdReport
- TdgVe
Info - TdgVp
Info
Enums§
- Gpaw
- Init
Error - Invd
Translations - Controls how enter_l2_vcpu flushes the TLB context and extended paging structure (EPxE) caches associated with the L2 VM before entering the L2 VCPU.
- TdCall
Error - Tdcall
Num - TDCALL Instruction Leaf Numbers Definition.
- TdxVirtual
Exception Type - TeeType
Functions§
- accept_
page ⚠ - Accept a pending private page and initialize it to all-0 using the TD ephemeral private key.
- enter_
l2_ vcpu - Enter L2 VCPU operation.
- extend_
rtmr - Extend a TDCS.RTMR measurement register.
- get_
report - TDG.MR.REPORT creates a TDREPORT_STRUCT structure that contains the measurements/configuration information of the guest TD that called the function, measurements/configuration information of the Intel TDX module and a REPORTMACSTRUCT.
- get_
tdinfo - Get guest TD execution environment information.
- get_
veinfo - Get Virtualization Exception Information for the recent #VE exception.
- invalidate_
l2_ cached_ ept - Invalidate cached EPT translations for selected L2 VMs.
- invalidate_
l2_ gla - Invalidate Guest Linear Address (GLA) mappings in the translation lookaside buffers (TLBs) and paging-structure caches for a specified L2 VM and a specified list of 4KB-aligned linear addresses.
- read_
page_ attr - Read the GPA mapping and attributes of a TD private page.
- read_
servetd - As a service TD, read a metadata field (control structure field) of a target TD.
- read_
td_ metadata - Read a TD-scope metadata field (control structure field) of a TD.
- set_
cpuidve - TDG.VP.CPUIDVE.SET controls unconditional #VE on CPUID execution by the guest TD.
- verify_
report - Verify a cryptographic REPORTMACSTRUCT that describes the contents of a TD, to determine that it was created on the current TEE on the current platform.
- write_
page_ attr - Write the attributes of a private page. Create or remove L2 page aliases as required.
- write_
servetd - As a service TD, write a metadata field (control structure field) of a target TD.
- write_
td_ metadata - Write a TD-scope metadata field (control structure field) of a TD.