Map a page directory.
See
VM attributes for the mapping. Possible values for this type are
given in
Unmap a page directory.
See
Retrieve the accessed and dirty bits of a page mapped mapped into an address space.
See
A structure.
Map a page table into an address space.
See
VM attributes for the mapping. Possible values for this type are
given in
Unmap a page table from its address space and zero it out.
See
Map an IO page table into an IOSpace.
See
Unmap an IO page table from an IOSpace.
See
Map a page into an address space.
See
Rights for the mapping. Possible values for this type are
given in
VM attributes for the mapping. Possible values for this type are
given in
Unmap a page.
See
Map a page into an IOSpace.
See
Rights for the mapping. Possible values for this type are
given in
Get the physical address of the underlying frame.
See
A struct that contains a
, which holds the physical address of the page,
and . See for a description
of the message register and tag contents upon error.
Create an X86 ASID pool.
See
Assign an ASID pool.
See
Read 8 bits from an IO port.
See
A structure as described in .
Read 16 bits from an IO port.
See
A structure as described in .
Read 32 bits from an IO port.
See
A structure as described in .
Write 8 bits to an IO port.
See
Write 16 bits to an IO port.
See
Write 32 bits to an IO port.
See
Create an IRQ handler capability for an interrupt from an IOAPIC.
See and .
Create an IRQ handler capability for an interrupt from an MSI.
See and .
Set the EPT root of a thread
See .
Bind TCB to VCPU
Configures the one-to-one binding of a VCPU and TCB, overwriting any previous binding
in both. See .
Read VMCS field from the hardware
Thin wrapper around the instruction that is performed on the
VMCS region that is part of the VCPU object. After validating that a legal
field is requested the value of `vmread` is returned directly in the result.
A struct that contains a
, which holds the return result of the instruction,
and . See for a description
of the message register and tag contents upon error.
Write VMCS field to the hardware
Thin wrapper around the `vmwrite` instruction that is performed on the
VMCS region that is part of the VCPU object. As well as validating that
a legal field is requested, the value may be modified to ensure any
bits that are fixed in the hardware are correct, and that any features
required for kernel correctness are not disabled (see ).
The final value written to the hardware is returned and can be compared
to the input parameter to determine what bits the kernel changed.
A struct that contains a
, which holds the final value written with the instruction,
and . See for a description
of the message register and tag contents upon error.
Enable I/O port range in guest execution
Enables a range of I/O ports for direct access by the execution mode in
the . The requested port range must be a sub range
of the provided I/O port capability.
This also establishes a link between the provided I/O port capability and
the , see for details.
Disable I/O port range in privileged execution
Disable a range of I/O ports for direct access by the execution mode in
the .
Set guest mode registers to the fields of a given
Sets the guest mode registers, which is any registers not already part of the VMCS.
Map an EPT page directory page table.
See
VM attributes for the mapping. Possible values for this type are
given in
Unmap an EPT page directory page table.
See
Map an EPT page directory.
See
VM attributes for the mapping. Possible values for this type are
given in
Unmap an EPT page directory.
See
Map an EPT page table.
See
VM attributes for the mapping. Possible values for this type are
given in
Unmap an EPT page table.
See