Skip to main content

Crate tdcall

Crate tdcall 

Source
Expand description

Common TDCALL handling for issuing tdcalls and functionality using tdcalls.

Structs§

TdcallInput
Input to a tdcall. This is not defined in the TDX specification, but a contract between callers of this module and this module’s handling of tdcalls.
TdcallOutput
Output from a tdcall. This is not defined in the TDX specification, but a contract between callers of this module and this module’s handling of tdcalls.
TdgPageAttrRdResult
The result returned from tdcall_page_attr_rd.

Enums§

AcceptPagesAttributes
The page attributes to accept pages with.
AcceptPagesError
The error returned by accept_pages.
TdgPageReleaseError
The error information returned from tdcall_release_page.

Traits§

Tdcall
Trait to perform tdcalls used by this module.

Functions§

accept_pages
Accept pages from range using tdcall_accept_pages.
release_pages
Releases memory from range using tdcall_release_page.
set_page_attributes
Set page attributes from range using tdcall_page_attr_wr.
tdcall_accept_pages
Issue a TDG.MEM.PAGE.ACCEPT call.
tdcall_hypercall
Perform a tdcall based Hypercall. This is done by issuing a TDG.VP.VMCALL.
tdcall_io_in
Perform a tdcall based io port read.
tdcall_io_out
Perform a tdcall based io port write.
tdcall_map_gpa
Issue a map gpa call to change page visibility for accepted pages via a TDG.VP.VMCALL.
tdcall_mr_report
Issue a TDG.MR.REPORT call with empty additional data.
tdcall_page_attr_rd
Issue a TDG.MEM.PAGE.ATTR.RD call.
tdcall_page_attr_wr
Issue a TDG.MEM.PAGE.ATTR.WR call.
tdcall_rdmsr
Perform a tdcall based MSR read. This is done by issuing a TDG.VP.VMCALL.
tdcall_release_page
Issue a TDG.MEM.PAGE.RELEASE call
tdcall_sys_rd
Issue a TDG.SYS.RD call to read a global-scope TDX module metadata field (e.g. TDX_FEATURES0).
tdcall_vm_rd
Issue a TDG.VM.RD call
tdcall_vm_wr
Issue a TDG.VM.WR call to write a TD-scope metadata field (e.g. TD_CTLS).
tdcall_vp_invgla
Issue a TDG.VP.INVGLA call.
tdcall_vp_rd
Issue a TDG.VP.RD call.
tdcall_vp_wr
Issue a TDG.VP.WR call.
tdcall_wrmsr
Perform a tdcall based MSR write. This is done by issuing a TDG.VP.VMCALL.