ModulesΒ§
- cmdline
- config
- device_
helpers π - ext2 π
- Provides a function to lanunches a process of creating ext2 filesystem on memory region asynchronously for pmem-ext2 device.
- gpu π
- GPU related things depends on βgpuβ feature
- jail_
warden π - Manages minijails creation after VM starts. Minijail is created during a device hotplug.
- pci_
hotplug_ πhelpers - Helper functions for PCI hotplug.
- pci_
hotplug_ πmanager - A high-level manager for hotplug PCI devices.
- vcpu π
StructsΒ§
- Addressed
Proto πTube - Control
Loop πState - HotPlug
Stub π - Collection of devices related to PCI hotplug.
- VmRequest
Result π
EnumsΒ§
- Exit
State - IrqHandler
Token π - PvClock
Action π - The action requested by the pvclock device to perform on the main thread.
- VmMemory
Handler Request - Commands to control the VM Memory handler thread.
ConstantsΒ§
- KVM_
PATH π
FunctionsΒ§
- add_
hotplug_ πdevice - add_
hotplug_ πnet - create_
devices π - create_
guest_ πmemory - create_
mmio_ πfile_ backed_ mappings - create_
pure_ πvirtual_ pcie_ root_ port - Creates PCIE root port with only virtual devices.
- create_
virtio_ πdevices - find_
registered_ πtube - get_
default_ πhypervisor - Choose a default hypervisor if no
--hypervisoroption was specified. - get_
hp_ πbus - get_
representative_ πpcpu - For
vcpu_id, return the pcpu that itβs affined to. Itβs considered the βrepresentativeβ pcpu since there could be multiple pcpuβs affined to a single vcpu, so arbitrarily return the first pcpu we see. This βshouldnβtβ be an issue since ideally all the affined pcpuβs have the same capacity, frequency, etc. - handle_
hotplug_ πcommand - handle_
hotplug_ πnet_ add - handle_
hotplug_ πnet_ command - handle_
hotplug_ πnet_ remove - handle_
irq_ πtube_ request - irq_
handler_ πthread - Handles IRQs and requests from devices to add additional IRQ lines.
- jail_
and_ πstart_ vu_ device - Start and jail a vhost-user device according to its configuration and a vhost listener string.
- make_
addr_ πtube_ from_ maybe_ existing - map_
vcpu_ πcapacity - Given
vcpu_affinity(vcpu->pcpu mapping) andhost_capacity(pcpu->pcpu capacity mapping), return a mapping of vcpu->pcpuβs capacity. - map_
vcpu_ πclusters - Given
vcpu_affinity(vcpu->pcpu mapping) andhost_clusters(cluster->pcpu mapping), return a mapping of cluster->vcpu mapping. - process_
vhost_ πuser_ control_ request - process_
vm_ πcontrol_ event - process_
vm_ πrequest - punch_
holes_ πin_ guest_ mem_ layout_ for_ mappings - remove_
hotplug_ πbridge - remove_
hotplug_ πdevice - remove_
hungup_ πand_ drained_ tubes - When control tubes hang up, we want to make sure that weβve fully drained the underlying socket before removing it. This function also handles removing closed sockets in such a way that avoids phantom events.
- run_
config - run_
control π - run_kvm π
- run_vm π
- send_
pvclock_ πcmd - setup_
emulator_ crash_ reporting - Setup crash reporting for a process. Each process MUST provide a unique
product_typeto avoid making crash reports incomprehensible. - setup_
vm_ πcomponents - start_
devices - start_
pci_ πroot_ worker - start_
vhost_ πuser_ control_ server - trigger_
vm_ suspend_ and_ wait_ for_ entry - vm_
memory_ πhandler_ thread