blob: 4dd2e70a78cf495f225b0802dfe6cb92b03f62f8 [file] [view]
<!--
Copyright 2020, Data61
Commonwealth Scientific and Industrial Research Organisation (CSIRO)
ABN 41 687 119 230.
This software may be distributed and modified according to the terms of
the BSD 2-Clause license. Note that NO WARRANTY is provided.
See "LICENSE_BSD2.txt" for details.
@TAG(DATA61_BSD)
-->
# libsel4vmmplatsupport docs
See below for usage documentation on various libsel4vmmplatsupport interfaces:
### Common Interfaces
* [sel4vmmplatsupport/device.h](libsel4vmmplatsupport_device.md): Provides a series of datastructures and helpers to manage VMM devices.
* [sel4vmmplatsupport/device_utils.h](libsel4vmmplatsupport_device_utils.md): Provides various helpers to establish different types devices for a given VM instance
* [sel4vmmplatsupport/guest_image.h](libsel4vmmplatsupport_guest_image.md): Provides general utilites to load guest vm images (e.g. kernel, initrd, modules)
* [sel4vmmplatsupport/guest_memory_util.h](libsel4vmmplatsupport_guest_memory_util.md): Provides various utilities and helpers for using the libsel4vm guest memory interface
* [sel4vmmplatsupport/guest_vcpu_util.h](libsel4vmmplatsupport_guest_vcpu_util.md): Provides abstractions and helpers for managing libsel4vm vcpus
* [sel4vmmplatsupport/ioports.h](libsel4vmmplatsupport_ioports.md): Useful abstraction for initialising, registering and handling ioport events for a guest VM instance
* [sel4vmmplatsupport/drivers/cross_vm_connection.h](libsel4vmmplatsupport_cross_vm_connection.md): Facilitates the creation of communication channels between VM's and other components on a seL4-based system
* [sel4vmmplatsupport/drivers/pci.h](libsel4vmmplatsupport_pci.md): Interface presents a VMM PCI Driver, which manages the host's PCI devices, and handles guest OS PCI config space read & writes
* [sel4vmmplatsupport/drivers/pci_helper.h](libsel4vmmplatsupport_pci_helper.md): This interface presents a series of helpers when using the VMM PCI Driver
* [sel4vmmplatsupport/drivers/virtio_con.h](libsel4vmmplatsupport_virtio_con.md): This interface provides the ability to initalise a VMM virtio console driver
* [sel4vmmplatsupport/drivers/virtio_net.h](libsel4vmmplatsupport_virtio_net.md): This interface provides the ability to initalise a VMM virtio net driver
### Architecture Specific Interfaces
#### ARM
* [sel4vmmplatsupport/arch/generic_forward_device.h](libsel4vmmplatsupport_arm_generic_forward_device.md): This interface facilitates the creation of a virtual device used for dispatching faults to external handlers
* [sel4vmmplatsupport/arch/guest_boot_init.h](libsel4vmmplatsupport_arm_guest_boot_init.md): Provides helpers to initialise the booting state of a VM instance
* [sel4vmmplatsupport/arch/guest_reboot,h](libsel4vmmplatsupport_arm_guest_reboot.md): Provides a series of helpers for registering callbacks when rebooting the VMM
* [sel4vmmplatsupport/arch/guest_vcpu_fault.h](libsel4vmmplatsupport_arm_guest_vcpu_fault.md): Provides a module for registering and processing ARM vcpu faults
* [sel4vmmplatsupport/arch/guest_vcpu_util.h](libsel4vmmplatsupport_arm_guest_vcpu_util.md): Provides abstractions and helpers for managing libsel4vm vcpus on an ARM platform
* [sel4vmmplatsupport/arch/vpci.h](libsel4vmmplatsupport_arm_vpci.md): Presents a Virtual PCI driver for ARM-based VM's
* [sel4vmmplatsupport/arch/vusb.h](libsel4vmmplatsupport_arm_vusb.md): Presents a Virtual USB driver for ARM-based VM's
* [sel4vmmplatsupport/arch/ac_device.h](libsel4vmmplatsupport_arm_ac_device.md): Facilitates the creation of generic virtual devices in a VM instance with access control permissions over the devices addressable memory
#### X86
* [sel4vmmplatsupport/arch/acpi.h](libsel4vmmplatsupport_x86_acpi.md): Provides support for generating ACPI table in a guest x86 VM
* [sel4vmmplatsupport/arch/guest_boot_init.h](libsel4vmmplatsupport_x86_guest_boot_init.md): Provides helpers to initialise the booting state of a VM instance
* [sel4vmmplatsupport/arch/drivers/vmm_pci_helper.h](libsel4vmmplatsupport_x86_vmm_pci_helper.md): Interface presents a series of helpers for establishing VMM PCI support on x86 platforms