boot.hThe libsel4vm boot interface provides us with base abstractions to create, initialise and configure VM and VCPU instances.
Functions:
vm_init(vm, vka, host_simple, host_vspace, io_ops, host_endpoint, name)
The interface boot.h defines the following functions.
vm_init(vm, vka, host_simple, host_vspace, io_ops, host_endpoint, name)Initialise/Create VM
Parameters:
vm {vm_t *}: Handle to the VM being initialisedvka {vka_t *}: Initialised handle to virtual kernel allocator for seL4 kernel object allocationhost_simple {simple_t *}: Initialised handle to hosts simple environmenthost_vspace {vspace_t}: Initialised handle to hosts vspaceps_io_ops {ps_io_ops_t *}: Initialised handle to platforms io opshost_enpoint {seL4_CPtr}: Host's endpoint. The library will wait and manage the endpoint when running a VM instancename {const char *}: String used to describe VM. Useful for debuggingReturns:
Back to interface description.
vm_create_vcpu(vm, priority)Create a VCPU for a given VM
Parameters:
vm {vm_t *}: A handle to VM being configured with a new vcpupriority {int}: The scheduling priority assigned to the VCPU threadReturns:
Back to interface description.
vm_assign_vcpu_target(vcpu, target_cpu)Assign a vcpu with logical target cpu to run on
Parameters:
vcpu {vm_vcpu_t *}: A handle to the VCPUtarget {int}: Logical target CPU IDReturns:
Back to interface description.
Back to top.