Crate uhyve_interface
source ·Expand description
§Uhyve Hypervisor Interface
The uhyve hypercall interface works as follows:
- On
x86_64
you use an out port instruction. The address of theout
-port corresponds to the hypercall you want to use. You can obtain it from the [IoPorts
] enum. The data send to that port is the physical memory address (of the VM) of the parameters of that hypercall. - On
aarch64
you write to the respectiveHypercallAddress
. The 64-bit value written to that location is the guest’s physical memory address of the hypercall’s parameter.
Modules§
- Utility to place the uhyve interface version in the elf header of the hermit kernel.
- Parameters for hypercalls.
Macros§
- Defines the uhyve interface version in the note section.
Enums§
- Hypervisor calls available in uhyve with their respective parameters. See the module level documentation on how to invoke them.
- Enum containing all valid port mappings for hypercalls.
Constants§
- The maximum number of items in an argument of environment vector.
- The version of the uhyve interface. Note: This is not the same as the semver of the crate but should be increased on every version bump that changes the API.