pub fn invalidate_l2_gla(
l2_vm_idx: u64,
list: bool,
gla: u64,
) -> Result<u64, TdCallError>
Expand description
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.
Inputs:
- l2_vm_idx: the index of the L2 VM to invalidate. 1: Invalidate EPT for L2 VM #1. 2: Invalidate EPT for L2 VM #2. 3: Invalidate EPT for L2 VM #3.
- list: GlaListEntry or GlaListInfo Flags. 0: gla contains a single GLA list entry. 1: RDX contains the GPA and other information of a GLA list in memory.
- gla: Depending on the list flag, it contains either of the following:
- A single GlaListEntry, specifying up to 512 consecutive guest linear addresses, each aligned on 4KB.
- GlaLstInfo, specifying the GPA of a guest linear address (GLA) list in private memory. Each entry in the GLA list specifies up to 512 consecutive guest linear addresses, each aligned on 4KB. GlaLstInfo also specifies the first and last GLA list entries to process.
Outputs:
- RDX: Depending on the list flag, it contains either of the following:
- If list was 0, RDX contains the single GlaListEntry provided as an input, unmodified.
- If list was 1, RDX contains the GlaLstInfo provided as input, but with the FIRST_ENTRY and NUM_ENTRIES fields updated to reflect the number of entries processed so far. If all entries have been processed successfully, NUM_ENTRIES is set to 0.