[qemu-x86 package document]

SLES 15 SP3 QEMU/KVM RELATED SUPPORT STATEMENTS

Overview

The QEMU based packages included with SLES 15 SP3 provide a large variety of features, from the very latest customer requests to features of questionable quality or value. The linux kernel includes components which contribute KVM virtualization features as well. This document was created to assist the user in deciding which features can be relied upon to build enterprise class virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64), for IBM System z (s390x), and for the ARM64 architecture (AArch64) are offered at the L3 (full support) level. The bulk of this document deals with L3 supported features and is primarily x86 centric. This document should be considered a companion to the standard virtualization documentation delivered with the product.

KVM is implemented in linux kernel modules which enable the linux kernel to function as an integral part of the KVM hypervisor. The hypervisor-guest interaction is managed by QEMU through the /dev/kvm ioctl interface. The linux host assists in the virtualization of storage, networking and display resources as well as allowing direct hardware passthrough of PCI and USB devices. Linux memory and cpu management features are used by QEMU/KVM to enable guests to share those host resources as efficiently as possible.

QEMU is a primary component of KVM based virtualization. The legacy qemu-kvm program is available for continuity with pre SLES 12 usage, including in libvirt domain xml references. The QEMU emulator binaries qemu-system-x86_64 and qemu-system-i386 (x86 host) are now the primary programs to use to access KVM virtualization. When using these programs, the -machine option accel=kvm (or its alias -enable-kvm), or --accel kvm option must be specified for KVM acceleration to be used by the guest. Although Xen uses QEMU for virtualization as well, this document does not identify Xen supported features.

Libvirt is the preferred means of accessing QEMU/KVM functionality and is documented elsewhere. This document focuses on the features and direct usage of QEMU/KVM as provided by the QEMU based packages.

Major QEMU/KVM Supported Features

QEMU/KVM Technology Previews

Noteworthy QEMU/KVM Unsupported Features

Deprecated, Superseded, Modified and Dropped Features

QEMU Command-Line and Monitor Syntax and Support

-acpitable ... -chroot ... -cpu host -curses -device

[ipoctal232|i82562|nec-usb-xhci|hda-duplex|hda-output|usb-bot| lsi53c810a|isa-debug-exit|ne2k_pci|usb-uas|ioh3420|isa-ide|usb-ccid| pcnet|ich9-intel-hda|dc390|hda-micro|x3130-upstream|isa-cirrus-vga| pc-testdev|ne2k_isa|isa-vga|cs4231a|gus|vmware-svga|i82801b11-bridge| i82557a|i82557c|i82557b|i82801|AC97|am53c974|intel-hda|i82558a| i82558b|usb-audio|i82550|isa-debugcon|sb16|megasas|i82551| xio3130-downstream|vt82c686b-usb-uhci|tpci200|i82559a|i82559b|i82559c| isa-applesmc|adlib|ES1370|lsi53c810|nvme|pci-testdev|pvscsi| virtio-9p-device|virtio-balloon-device|virtio-blk-device| virtio-net-device|virtio-rng-device|virtio-scsi-device| virtio-serial-device|vmxnet3|xen-pci-passthrough|xen-platform| xen-pvdevice|piix3-ide|piix3-ide-xen|piix3-ide|i8042|sdhci-pci| secondary-vga|edu|intel_iommu|usb-mtp|e1000-82544gc|e1000-82545em| pci-bridge-seat|pxb|pxb-pcie|rocker|virtio-input-host-device| virtio-keyboard-device|virtio-mouse-device|virtio-tablet-device| hyperv-testdev|generic-sdhci|igd-passthrough-isa-bridge| ipmi-bmc-extern|ipmi-bmc-sim|isa-ipmi-bt|isa-ipmi-kcs|mptsas1068| nvdimm|pxb-host|sd-card|virtio-gpu-device|amd-iommu|AMDVI-PCI| vhost-vsock-device|virtio-crypto-device|vfio-pci-igd-lpc-bridge| pcie-root-port|qemu-xhci|*-i386-cpu|*-x86_64-cpu|pvrdma|bochs-display| ramfb|ccid-card-emulated|ccid-card-passthru|kvaser_pci|tpm-crb| mioe3680_pci|pcm3680_pci|hyperv-synic|vfio-pci-nohotplug| vfio-platform|xen-bridge|xen-cdrom|xen-disk|ati-vga|cpu-cluster| intel-iommu|vhost-user-fs-device|tulip|ati-vga|i2c-ddc|pci-ipmi-bt| pci-ipmi-kcs|serial|serial-io|serial-mm|virtio-iommu-device| virtio-iommu-pci|virtio-iommu-pci-nontransitional|xen-sysdev| imx.usbphy|vmbus-bridge|vhost-user-vsock-device|vhost-user-vsock-pci| vhost-user-vsock-pci-non-transitional|virtio-mem|virtio-mem-pci| nvme-ns|ctucan_pci|u2f-passthru] (the following are aliases of these unsupported devices: lsi) (note that some of these device names represent supported devices and are used internally, but are not specifyable via -device even though they appear in the list of devices)
-drive ,if=[scsi|mtd|pflash], snapshot=on, format=[anything besides qcow2 or raw]

-dtb file -enable-hax -enable-sync-profile -g ... -icount ... -L ... -M

[isapc|microvm|pc-1.0|pc-1.1|pc-1.2|pc-1.3|pc-i440fx-1.5|pc-i440fx-1.6| pc-i440fx-2.1|pc-i440fx-2.2|pc-i440fx-2.4|pc-i440fx-2.5|pc-i440fx-2.7| pc-i440fx-2.8|pc-i440fx-2.10|pc-i440fx-2.12|pc-i440fx-3.0|pc-i440fx-4.0| pc-i440fx-4.1|pc-i440fx-5.0|pc-i440fx-5.1|pc-q35-1.4|pc-q35-1.5|pc-q35-1.6| pc-q35-1.7|pc-q35-2.0|pc-q35-2.1|pc-q35-2.2|pc-q35-2.3|pc-q35-2.4| pc-q35-2.5|pc-q35-2.7|pc-q35-2.8|pc-q35-2.10|pc-q35-2.12|pc-q35-3.0| pc-q35-4.0|pc-q35-4.1|pc-q35-5.0|pc-q35-5.1]
-machine [isapc|microvm|pc-1.0|pc-1.1|pc-1.2|pc-1.3|pc-i440fx-1.5| pc-i440fx-1.6|pc-i440fx-2.1|pc-i440fx-2.2|pc-i440fx-2.4| pc-i440fx-2.5|pc-i440fx-2.7|pc-i440fx-2.8|pc-i440fx-2.10| pc-i440fx-2.12|pc-i440fx-3.0|pc-i440fx-4.0|pc-i440fx-4.1| pc-i440fx-5.0|pc-i440fx-5.1|pc-q35-1.4|pc-q35-1.5|pc-q35-1.6| pc-q35-1.7|pc-q35-2.0|pc-q35-2.1|pc-q35-2.2|pc-q35-2.3|pc-q35-2.4| pc-q35-2.5|pc-q35-2.7|pc-q35-2.8|pc-q35-2.10|pc-q35-2.12|pc-q35-3.0| pc-q35-4.0|pc-q35-4.1|pc-q35-5.0|pc-q35-5.1]

-mtdblock file -net [dump|socket|vde] ... -netdev [dump|hubport|l2tpv3|socket|vde] ... -no-kvm -numa node ... -option-rom ... -overcommit ... -pflash file -portrait -preconfig -prom-env ... -qtest ... -qtest-log ... -rotate -sd file -sdl -set ... -singlestep -snapshot -soundhw ... -tb-size ... -tpmdev emulator ... -vga [cg3|tcx|virtio|vmware] -win2k-hack