# README
qcli
golang package for constructing qemu commands
# Packages
No description provided by the author
# Functions
No description provided by the author
CopyFileBits - copy file content from a to b differs from CopyFile in: - does not do permissions - new files created with 0644 - if src is a symlink, copies content, not link.
CreateCloudInitISO creates a cloud-init ConfigDrive ISO image.
GetSocketPaths seaches config for Chardev,Serial,Monitor and QMP sockets.
LaunchCustomQemu can be used to launch a new qemu instance.
LaunchQemu can be used to launch a new qemu instance.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewSystemUEFIFirmwareDevice looks at the local system to collect expected OVMF firmware files, callers will need to make a copy of the of the Vars template file before using it in a running VM.
No description provided by the author
QMPStart connects to a unix domain socket maintained by a QMP instance.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CharConsole sends traffic from the guest to QEMU's standard output.
Console is the console device driver.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
E1000 is the emulated Intel E1000 networking device driver.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
File sends traffic from the guest to a file on the host.
Forbid like "warn" but also deny access to additional devices on guest.
Handle is the handle qemu filesystem driver.
Host is for using the host clock as a reference.
AHCI ICH9 Controller.
IDECDROM is the block device driver.
IDEHardDisk is the block device driver.
IPVTAP is a ipvtap virtual networking device type.
No description provided by the author
LegacySerial is the legacy serial device driver.
Loader is the Loader device driver.
Local is the local qemu filesystem driver.
LocalTime is the local base time for qemu RTC.
No description provided by the author
MachineTypeMicrovm is the QEMU microvm machine type for amd64.
No description provided by the author
No description provided by the author
No description provided by the author
MACVTAP is a macvtap networking device type.
MappedFile stores some files attributes in the .virtfs directory.
MappedXattr stores some files attributes as extended attributes.
MaxGuestCID is the largest valid context ID for a guest.
MCASTSOCKET is a socket networking device type.
MemoryBackendEPC represents a guest memory backend EPC for SGX.
MemoryBackendFile represents a guest memory mapped file.
MigrationDefer is the defer incoming type.
MigrationExec is the migration incoming type based on commands.
MigrationFD is the migration incoming type based on open file descriptor.
MinimalGuestCID is the smallest valid context ID for a guest.
Native is the pthread asynchronous I/O implementation.
NoDriftFix means we don't want/need to fix qemu's RTC drift.
NoInterface for block devices with no interfaces.
None is like passthrough without failure reports.
NVDIMM is the Non Volatile DIMM device driver.
NVME is the block device driver.
PassThrough uses the same credentials on both the host and guest.
PCIBridge is a pci bridge.
PCIBridgeDriver represents a PCI bridge device type.
PCIEBridge is a pcie bridge.
PCIePCIBridgeDriver represents a PCIe to PCI bridge device type.
PCIeRootPort is a PCIe Root Port, the PCIe device should be hotplugged to this port.
PCI Serial Device.
32 slots available, place auto-created devices starting at the end and decrement as needed to avoid impacting.
slot 0, 1, and 2 are always taken.
PEFGuest represent ppc64le PEF(Protected Execution Facility) object.
PFlash.
No description provided by the author
PIIX3 IDE Controller.
PIIX4 IDE Controller.
Pipe creates a 2 way connection to the guest.
Proxy is the proxy qemu filesystem driver.
PTY creates a new pseudo-terminal on the host and connect to it.
QCOW2 is the Qemu Copy On Write v2 image format.
RAW is the direct indexing image format.
Remap shares multiple devices with only one export.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RT is for using the host monotonic clock as a reference.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SCSI represents a SCSI block device interface.
SCSICD is the block device driver.
SCSIHD is the block device driver.
SecExecGuest represents an s390x Secure Execution (Protected Virtualization in QEMU) object.
Serial sends traffic from the guest to a serial device on the host.
SEVGuest represents an SEV guest object.
Slew is the qemu RTC Drift fix mechanism.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Socket creates a 2 way stream socket (TCP or Unix).
SpaprTPMProxy is used for enabling guest to run in secure mode on ppc64le.
No description provided by the author
No description provided by the author
No description provided by the author
SpiceVMC creates a spice-protocol char device over a virtserialport.
Stdio creates a 2 way connection to guest via stdio.
TAP is a TAP networking device type.
TDXGuest represents a TDX object.
Threads is the pthread asynchronous I/O implementation.
TPM-CRB TPM Device.
No description provided by the author
No description provided by the author
TPM-TIS TPM Device.
TransportCCW is the CCW transport for virtio devices.
TransportMMIO is the MMIO transport for virtio devices.
TransportPCI is the PCI transport for virtio device.
TTY is an alias for Serial.
No description provided by the author
Unix socket for QMP.
USBStorage is the block device driver.
USB-XHCI-Controller.
USER is SLIRP user-space networking device type.
UTC is the UTC base time for qemu RTC.
VETHTAP is a veth-tap virtual networking device type.
VFIO is a direct assigned PCI device or PCI VF.
VfioAP is the vfio driver with AP transport.
VfioCCW is the vfio driver with CCW transport.
VfioPCI is the vfio driver with PCI transport.
VHOSTUSER is a vhost-user port (socket).
VhostUserBlk represents a block vhostuser device type.
VhostUserFS represents a virtio-fs vhostuser device type.
VhostUserNet represents a net vhostuser device type.
VhostUserSCSI represents a SCSI vhostuser device type.
VHostVSockPCI is a generic Vsock vhost device with PCI transport.
Virtio9P is the 9pfs device driver.
VirtioBalloon is the memory balloon device driver.
VirtioBlock is the block device driver.
VirtioNet is the virtio networking device driver.
VirtioNetCCW is the virt-io ccw networking device driver.
VirtioNetPCI is the virt-io pci networking device driver.
VirtioRng is the paravirtualized RNG device driver.
VirtioRngPCI is the paravirtualized RNG device driver on CCW bus.
VirtioRngPCI is the paravirtualized RNG device driver on PCI bus.
VirtioScsi is the scsi controller over virtio driver.
VirtioSerial is the serial device driver.
VirtioSerialPort is the serial port device driver.
VM is for using the guest clock as a reference.
No description provided by the author
No description provided by the author
OVMF_CODE , AAVMF_CODE.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
VSOCKGuestCID is the VSOCK guest CID parameter.
VVFAT represents a virtual VFAT block device.
Warn assumes that only one device is shared by the same export.
# Variables
BalloonDeviceTransport is a map of the virtio-balloon device name that corresponds to each transport.
No description provided by the author
SCSIControllerTransport is a map of the virtio-scsi device name that corresponds to each transport.
VFIODeviceTransport is a map of the vfio device name that corresponds to each transport.
VhostUserBlkTransport is a map of the vhost-user-blk device name that corresponds to each transport.
VhostUserFSTransport is a map of the vhost-user-fs device name that corresponds to each transport.
VhostUserNetTransport is a map of the virtio-net device name that corresponds to each transport.
VhostUserSCSITransport is a map of the vhost-user-scsi device name that corresponds to each transport.
Virtio9PTransport is a map of the virtio-9p device name that corresponds to each transport.
VirtioBlockTransport is a map of the virtio-blk device name that corresponds to each transport.
VirtioNetTransport is a map of the virtio-net device name that corresponds to each transport.
VirtioSerialTransport is a map of the virtio-serial device name that corresponds to each transport.
No description provided by the author
VSOCKDeviceTransport is a map of the vhost-vsock device name that corresponds to each transport.
# Structs
BalloonDevice represents a memory balloon device.
BlockDevice represents a qemu block device.
BridgeDevice represents a qemu bridge device like pci-bridge, pxb, etc.
CharDevice represents a qemu character device.
Config is the qemu configuration structure.
CPUInfo represents information about each virtual CPU.
CPUInfoFast represents information about each virtual CPU.
CPUProperties contains the properties of a CPU instance.
FSDevice represents a qemu filesystem configuration.
FwCfg allows QEMU to pass entries to the guest File and Str are mutually exclusive.
HotpluggableCPU represents a hotpluggable CPU.
IDEController represents an IDE controller device.
Incoming controls migration source preparation.
IommuDev represents a Intel IOMMU Device.
IOThread allows IO to be performed on a separate thread.
Kernel is the guest kernel configuration structure.
Knobs regroups a set of qemu boolean settings.
LegacySerialDevice represents a qemu legacy serial device.
LoaderDevice represents a qemu loader device.
Machine describes the machine type qemu will emulate.
Memory is the guest memory configuration structure.
MemoryDevices represents memory devices of vm.
MemoryDevicesData cotains the data describes a memory device.
MigrationDisk represents migration disk status.
MigrationRAM represents migration ram status.
MigrationStatus represents migration status of a vm.
MigrationXbzrleCache represents migration XbzrleCache status.
MonitorDevice represents a qemu legacy human monitor device.
NetDevice represents a guest networking device.
-netdev socket,listen=.
-netdev tap,ifname=,downscript=,script=.
-netdev user,.
Object is a qemu object representation.
PCIeRootPortDevice represents a memory balloon device.
No description provided by the author
No description provided by the author
PVPanicDevice represents a qemu pvpanic device.
No description provided by the author
QMP is a structure that contains the internal state used by startQMPLoop and the go routines it spwans.
QMPConfig is a configuration structure that can be used to specify a logger and a channel to which logs and QMP events are to be sent.
QMPEvent contains a single QMP event, sent on the QMPConfig.EventCh channel.
QMPSocket represents a qemu QMP socket configuration.
QMPVersion contains the version number and the capabailities of a QEMU instance, as reported in the QMP greeting message.
RngDevice represents a random number generator device.
RTC represents a qemu Real Time Clock configuration.
SchemaInfo represents all QMP wire ABI.
SCSIController represents a SCSI controller device.
SerialDevice represents a qemu serial device.
No description provided by the author
SMP is the multi processors configuration structure.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SpiceDevice represents a qemu spice protocol device.
StatusInfo represents guest running status.
TPM represents a qemu tpm device.
No description provided by the author
USBController represents an USB controller device.
VFIODevice represents a qemu vfio device meant for direct access by guest OS.
VhostUserDevice represents a qemu vhost-user device meant to be passed in to the guest.
VMConfigContainer holds a single VM config.
VSOCKDevice represents a AF_VSOCK socket.
No description provided by the author
# Type aliases
BlockDeviceAIO defines the type of asynchronous I/O the block device should use.
BlockDeviceFormat defines the image format used on a block device.
BlockDeviceInterface defines the type of interface the device is connected to.
BridgeType is the type of the bridge.
No description provided by the author
CharDeviceBackend is the character device backend for qemu.
No description provided by the author
DeviceDriver is the device driver string.
No description provided by the author
No description provided by the author
FSDriver represents a qemu filesystem driver.
NetDeviceType is a qemu networking device type.
ObjectType is a string representing a qemu object type.
No description provided by the author
No description provided by the author
QMPSocketType is the type of socket used for QMP communication.
RTCBaseType is the qemu RTC base time type.
RTCClock is the qemu RTC clock type.
RTCDriftFix is the qemu RTC drift fix type.
No description provided by the author
SecurityModelType is a qemu filesystem security model type.
Virtio9PMultidev filesystem behaviour to deal with multiple devices being shared with a 9p export.
VirtioTransport is the transport in use for a virtio device.