/qemu/docs/specs/ |
H A D | ppc-spapr-xive.rst | 10 A QEMU ``pseries`` machine (which is PAPR compliant) using POWER9 13 - *Legacy Compatibility Mode* 18 It is also referred as *XICS* in QEMU. 20 - *XIVE native exploitation mode* 34 --------------- 36 QEMU advertises the supported interrupt modes in the device tree 37 property ``ibm,arch-vec-5-platform-support`` in byte 23 and the OS 38 Selection for XIVE is indicated in the ``ibm,architecture-vec-5`` 43 ``ic-mode`` which can be set on the command line. It can take the 52 KVM negotiation [all …]
|
H A D | rapl-msr.rst | 12 Thanks to KVM's `MSR filtering <msr-filter-patch_>`__ functionality, 13 not all MSRs are handled by KVM. Some of them can now be handled by the 14 userspace (QEMU); a list of MSRs is given at VM creation time to KVM, and 17 .. _msr-filter-patch: https://patchwork.kernel.org/project/kvm/patch/20200916202951.23760-7-graf@am… 37 it with the UNIT provided above you'll get the power in micro-joules. This 45 core that belongs to PKG-0 will not be able to get the value of PKG-1 and 46 vice-versa. 49 ------------------------- 51 In order to update the value of the virtual MSR, a QEMU thread is created. 54 1. Snapshot of the time metrics of all QEMU threads (Time spent scheduled in [all …]
|
/qemu/docs/system/arm/ |
H A D | cpu-features.rst | 5 choose to implement or not. In QEMU, optional CPU features have 10 Cortex-A15 and the Cortex-A57, which respectively implement Arm 11 architecture reference manuals ARMv7-A and ARMv8-A, may both optionally 12 implement PMUs. For example, if a user wants to use a Cortex-A15 without 13 a PMU, then the ``-cpu`` parameter should contain ``pmu=off`` on the QEMU 14 command line, i.e. ``-cpu cortex-a15,pmu=off``. 18 that implement the ARMv8-A architecture reference manual may optionally 20 ``aarch64`` CPU property. A CPU type such as the Cortex-A15, which does 21 not implement ARMv8-A, will not have the ``aarch64`` CPU property. 23 QEMU's support may be limited for some CPU features, only partially [all …]
|
/qemu/docs/devel/ |
H A D | multi-process.rst | 1 Multi-process QEMU 6 This is the design document for multi-process QEMU. It does not 13 https://wiki.qemu.org/Features/MultiProcessQEMU 15 QEMU is often used as the hypervisor for virtual machines running in the 22 QEMU can be susceptible to security attacks because it is a large, 24 Many of these features can be configured out of QEMU, but even a reduced 25 configuration QEMU has a large amount of code a guest can potentially 26 attack. Separating QEMU reduces the attack surface by aiding to 30 QEMU services 31 ------------- [all …]
|
/qemu/docs/system/ppc/ |
H A D | pseries.rst | 5 The Power machine para-virtualized environment described by the Linux on Power 18 - POWER7, POWER7+ 19 - POWER8, POWER8NVL 20 - POWER9 21 - Power10 22 - Power11 23 - Support for POWER5+ also exists, works with correct kernel/userspace 25 - XICS (POWER8) 26 - XIVE (Supported by below:) 27 - POWER9 [all …]
|
H A D | powernv.rst | 4 PowerNV (as Non-Virtualized) is the "bare metal" platform using the 6 be used as an hypervisor OS, running KVM guests, or simply as a host 9 The PowerNV QEMU machine tries to emulate a PowerNV system at the 13 beyond the scope of what QEMU addresses today. 16 ----------------- 24 * Simple OCC is an on-chip micro-controller used for power management tasks. 26 provided by QEMU or an external BMC such as an Aspeed QEMU machine. 30 --------------- 44 -------- 49 GitHub <https://github.com/open-power>`_. [all …]
|
/qemu/docs/system/i386/ |
H A D | hyperv.rst | 1 Hyper-V Enlightenments 6 ----------- 8 In some cases when implementing a hardware interface in software is slow, KVM 11 It may, however, be hard-to-impossible to add support for these interfaces to 14 KVM on x86 implements Hyper-V Enlightenments for Windows guests. These features 15 make Windows and Hyper-V guests think they're running on top of a Hyper-V 16 compatible hypervisor and use Hyper-V specific features. 20 ----- 22 No Hyper-V enlightenments are enabled by default by either KVM or QEMU. In 23 QEMU, individual enlightenments can be enabled through CPU flags, e.g: [all …]
|
H A D | kvm-pv.rst | 1 Paravirtualized KVM features 5 ----------- 7 In some cases when implementing hardware interfaces in software is slow, ``KVM`` 11 ----- 13 Paravirtualized ``KVM`` features are represented as CPU flags. The following 14 features are enabled by default for any CPU model when ``KVM`` acceleration is 17 - ``kvmclock`` 18 - ``kvm-nopiodelay`` 19 - ``kvm-asyncpf`` 20 - ``kvm-steal-time`` [all …]
|
H A D | xen.rst | 6 ----------- 8 KVM has support for hosting Xen guests, intercepting Xen hypercalls and event 10 run under Xen to be hosted in QEMU under Linux/KVM instead. 15 ----- 17 Xen mode is enabled by setting the ``xen-version`` property of the KVM 20 .. parsed-literal:: 22 |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split 25 ``xen-vapic`` CPU flag: 27 .. parsed-literal:: 29 |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split --cpu host,+xen-vapic [all …]
|
H A D | tdx.rst | 5 Virtual Machine Extensions (VMX) and Multi-Key Total Memory Encryption (MKTME) 12 ------------- 15 while KVM hypervisor has TDX support and has TDX enabled. If those requirements 25 KVM vcpu ioctl ``KVM_TDX_INIT_MEM_REGION`` can be used to populate the TDVF 29 device and it actually works as RAM. "-bios" option is chosen to load TDVF. 32 command line to specify and load TDVF is ``-bios OVMF.fd`` 35 --------------------- 37 Unlike non-TDX VM, the CPU features (enumerated by CPU or MSR) of a TD are not 43 - Attributes: 44 - PKS (bit 30) controls whether Supervisor Protection Keys is exposed to TD, [all …]
|
/qemu/include/system/ |
H A D | kvm.h | 2 * QEMU KVM support 10 * See the COPYING file in the top-level directory. 14 /* header to be included in non-KVM-specific code */ 20 #include "qemu/accel.h" 25 # include <linux/kvm.h> 51 * Returns: true if an in-kernel irqchip was created. 55 * target-independent code: use one of the following functions or 73 * Returns: true if we can deliver interrupts to KVM 92 * a KVM CPU (ie the kernel supports irqfds and we are running 95 * Always available if running with in-kernel irqchip. [all …]
|
H A D | kvm_int.h | 2 * Internal definitions for a target's KVM support 5 * See the COPYING file in the top-level directory. 13 #include "qapi/qapi-types-common.h" 14 #include "qemu/accel.h" 15 #include "qemu/queue.h" 16 #include "system/kvm.h" 19 #include "io/channel-socket.h" 94 * KVM reaper instance, responsible for collecting the KVM dirty bits 106 /* Max number of KVM slots supported */ 130 * unsigned, and real-world ioctl values like KVM_GET_XSAVE have [all …]
|
/qemu/accel/kvm/ |
H A D | kvm-accel-ops.c | 2 * QEMU KVM support 12 * See the COPYING file in the top-level directory. 16 #include "qemu/osdep.h" 17 #include "qemu/error-report.h" 18 #include "qemu/main-loop.h" 19 #include "system/accel-ops.h" 20 #include "system/kvm.h" 24 #include "qemu/guest-random.h" 27 #include <linux/kvm.h> 28 #include "kvm-cpus.h" [all …]
|
/qemu/python/qemu/utils/ |
H A D | accel.py | 2 QEMU accel module: 7 # Copyright (C) 2015-2016 Red Hat Inc. 14 # the COPYING file in the top-level directory. 34 def list_accel(qemu_bin: str) -> List[str]: 36 List accelerators enabled in the QEMU binary. 38 @param qemu_bin (str): path to the QEMU binary. 39 @raise Exception: if failed to run ``qemu -accel help`` 45 out = subprocess.check_output([qemu_bin, '-accel', 'help'], 55 qemu_bin: Optional[str] = None) -> bool: 57 Check if KVM is available using the following heuristic: [all …]
|
/qemu/hw/intc/ |
H A D | spapr_xive_kvm.c | 2 * QEMU PowerPC sPAPR XIVE interrupt controller model 4 * Copyright (c) 2017-2019, IBM Corporation. 7 * COPYING file in the top-level directory. 10 #include "qemu/osdep.h" 11 #include "qemu/log.h" 12 #include "qemu/error-report.h" 16 #include "system/kvm.h" 46 if (enabled_cpu->vcpu_id == vcpu_id) { in kvm_cpu_is_enabled() 59 enabled_cpu->vcpu_id = vcpu_id; in kvm_cpu_enable() 74 * XIVE Thread Interrupt Management context (KVM) [all …]
|
H A D | xics_kvm.c | 2 * QEMU PowerPC pSeries Logical Partition (aka sPAPR) hardware System Emulator 4 * PAPR Virtualized Interrupt System, aka ICS/ICP aka xics, in-kernel emulation 28 #include "qemu/osdep.h" 31 #include "system/kvm.h" 37 #include "qemu/config-file.h" 38 #include "qemu/error-report.h" 42 static int kernel_xics_fd = -1; 63 * ICP-KVM 70 /* The KVM XICS device is not in use */ in icp_get_kvm_state() 71 if (kernel_xics_fd == -1) { in icp_get_kvm_state() [all …]
|
/qemu/hw/vfio/ |
H A D | helpers.c | 11 * the COPYING file in the top-level directory. 13 * Based on qemu-kvm device-assignment: 14 * Adapted for KVM by Qumranet. 19 * Copyright (C) 2008, IBM, Muli Ben-Yehuda (muli@il.ibm.com) 22 #include "qemu/osdep.h" 25 #include "system/kvm.h" 26 #include "hw/vfio/vfio-device.h" 29 #include "vfio-helpers.h" 33 vbmap->pages = REAL_HOST_PAGE_ALIGN(size) / qemu_real_host_page_size(); in vfio_bitmap_alloc() 34 vbmap->size = ROUND_UP(vbmap->pages, sizeof(__u64) * BITS_PER_BYTE) / in vfio_bitmap_alloc() [all …]
|
/qemu/docs/devel/migration/ |
H A D | CPR.rst | 5 VM is migrated to a new QEMU instance on the same host. It is 7 that run the VM, such as QEMU or even the host kernel. At this time, 8 the cpr-reboot and cpr-transfer modes are available. 10 Because QEMU is restarted on the same host, with access to the same 13 guest block devices between quitting old QEMU and starting new QEMU. 18 cpr-reboot mode 19 --------------- 21 In this mode, QEMU stops the VM, and writes VM state to the migration 22 URI, which will typically be a file. After quitting QEMU, the user 23 resumes by running QEMU with the ``-incoming`` option. Because the [all …]
|
/qemu/docs/about/ |
H A D | build-platforms.rst | 1 .. _Supported-build-platforms: 6 QEMU aims to support building and executing on multiple host OS 9 minimum required versions of 3rd party software QEMU depends on. The 14 If a platform is not listed here, it does not imply that QEMU won't 21 support targets, QEMU considers only the version number, and assumes the 24 software in their distro, QEMU upstream code will not add explicit 25 support for those backports, unless the feature is auto-detectable in a 33 :ref:`setup-build-env` page. 36 ---------------------------- 40 .. list-table:: [all …]
|
/qemu/target/arm/ |
H A D | kvm.c | 2 * ARM implementation of KVM hooks 4 * Copyright Christoffer Dall 2009-2010 5 * Copyright Mian-M. Hamayun 2013, Virtual Open Systems 9 * See the COPYING file in the top-level directory. 13 #include "qemu/osdep.h" 16 #include <linux/kvm.h> 18 #include "qemu/timer.h" 19 #include "qemu/error-report.h" 20 #include "qemu/main-loop.h" 25 #include "system/kvm.h" [all …]
|
H A D | kvm_arm.h | 2 * QEMU KVM support -- ARM specific functions. 7 * See the COPYING file in the top-level directory. 14 #include "system/kvm.h" 15 #include "target/arm/cpu-qom.h" 23 * @devid: the KVM device ID 31 * @devid should be the ID of the device as defined by the arm-vgic device 46 * This updates KVM's working data structures from TCG data or 52 * Note that we do not stop early on failure -- we will attempt 63 * copy info from KVM's working data structures into TCG or 68 * Note that we do not stop early on failure -- we will attempt [all …]
|
/qemu/hw/ppc/ |
H A D | pef.c | 7 * See the COPYING file in the top-level directory. 11 #include "qemu/osdep.h" 15 #include "system/kvm.h" 17 #include "system/confidential-guest-support.h" 19 #define TYPE_PEF_GUEST "pef-guest" 35 * # $QEMU \ 36 * -object pef-guest,id=pef0 \ 37 * -machine ...,confidential-guest-support=pef0 50 "KVM implementation does not support Secure VMs (is an ultravisor running?)"); in kvmppc_svm_init() 51 return -1; in kvmppc_svm_init() [all …]
|
/qemu/tests/qtest/ |
H A D | arm-cpu-features.c | 9 * See the COPYING file in the top-level directory. 11 #include "qemu/osdep.h" 12 #include "qemu/bitops.h" 18 * We expect the SVE max-vq to be 16. Also it must be <= 64 23 #define MACHINE "-machine virt,gic-version=max -accel tcg " 24 #define MACHINE_KVM "-machine virt,gic-version=max -accel kvm " 25 #define QUERY_HEAD "{ 'execute': 'query-cpu-model-expansion', " \ 191 resp = qtest_qmp(qts, "{ 'execute': 'query-cpu-model-expansion', " in assert_type_full() 207 resp = qtest_qmp(qts, "{ 'execute': 'query-cpu-model-expansion', " in assert_bad_props() 234 if (strlen(e->key) > 3 && !strncmp(e->key, "sve", 3) && in resp_get_sve_vls() [all …]
|
/qemu/target/s390x/kvm/ |
H A D | pv.c | 9 * your option) any later version. See the COPYING file in the top-level 12 #include "qemu/osdep.h" 14 #include <linux/kvm.h> 16 #include "qemu/units.h" 18 #include "qemu/error-report.h" 19 #include "system/kvm.h" 22 #include "system/confidential-guest-support.h" 25 #include "target/s390x/kvm/kvm_s390x.h" 26 #include "target/s390x/kvm/pv.h" 43 } while (rc == -EINTR); in __s390_pv_cmd() [all …]
|
/qemu/hw/s390x/ |
H A D | tod-kvm.c | 2 * TOD (Time Of Day) clock - KVM implementation 8 * See the COPYING file in the top-level directory. 11 #include "qemu/osdep.h" 13 #include "qemu/module.h" 16 #include "target/s390x/kvm/pv.h" 17 #include "kvm/kvm_s390x.h" 23 r = kvm_s390_get_clock_ext(&tod->high, &tod->low); in kvm_s390_get_tod_raw() 24 if (r == -ENXIO) { in kvm_s390_get_tod_raw() 25 r = kvm_s390_get_clock(&tod->high, &tod->low); in kvm_s390_get_tod_raw() 28 error_setg(errp, "Unable to get KVM guest TOD clock: %s", in kvm_s390_get_tod_raw() [all …]
|