/openbmc/linux/virt/kvm/ |
H A D | Makefile.kvm | 6 KVM ?= ../../../virt/kvm 8 kvm-y := $(KVM)/kvm_main.o $(KVM)/eventfd.o $(KVM)/binary_stats.o 9 kvm-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o 10 kvm-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.o 11 kvm-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o 12 kvm-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o 13 kvm-$(CONFIG_HAVE_KVM_DIRTY_RING) += $(KVM)/dirty_ring.o 14 kvm-$(CONFIG_HAVE_KVM_PFNCACHE) += $(KVM)/pfncache.o
|
/openbmc/qemu/target/ppc/ |
H A D | trace-events | 4 kvm_failed_spr_set(int spr, const char *msg) "Warning: Unable to set SPR %d to KVM: %s" 5 kvm_failed_spr_get(int spr, const char *msg) "Warning: Unable to retrieve SPR %d from KVM: %s" 6 kvm_failed_fpscr_set(const char *msg) "Unable to set FPSCR to KVM: %s" 7 kvm_failed_fp_set(const char *fpname, int fpnum, const char *msg) "Unable to set %s%d to KVM: %s" 8 kvm_failed_vscr_set(const char *msg) "Unable to set VSCR to KVM: %s" 9 kvm_failed_vr_set(int vr, const char *msg) "Unable to set VR%d to KVM: %s" 10 kvm_failed_fpscr_get(const char *msg) "Unable to get FPSCR from KVM: %s" 11 kvm_failed_fp_get(const char *fpname, int fpnum, const char *msg) "Unable to get %s%d from KVM: %s" 12 kvm_failed_vscr_get(const char *msg) "Unable to get VSCR from KVM: %s" 13 kvm_failed_vr_get(int vr, const char *msg) "Unable to get VR%d from KVM: %s" [all …]
|
/openbmc/qemu/target/loongarch/ |
H A D | trace-events | 4 kvm_failed_get_regs_core(const char *msg) "Failed to get core regs from KVM: %s" 5 kvm_failed_put_regs_core(const char *msg) "Failed to put core regs into KVM: %s" 6 kvm_failed_get_fpu(const char *msg) "Failed to get fpu from KVM: %s" 7 kvm_failed_put_fpu(const char *msg) "Failed to put fpu into KVM: %s" 8 kvm_failed_get_mpstate(const char *msg) "Failed to get mp_state from KVM: %s" 9 kvm_failed_put_mpstate(const char *msg) "Failed to put mp_state into KVM: %s" 10 kvm_failed_get_counter(const char *msg) "Failed to get counter from KVM: %s" 11 kvm_failed_put_counter(const char *msg) "Failed to put counter into KVM: %s" 12 kvm_failed_get_cpucfg(const char *msg) "Failed to get cpucfg from KVM: %s" 13 kvm_failed_put_cpucfg(const char *msg) "Failed to put cpucfg into KVM: %s"
|
/openbmc/linux/arch/x86/kvm/ |
H A D | Kconfig | 3 # KVM configuration 21 config KVM config 22 tristate "Kernel-based Virtual Machine (KVM) support" 67 bool "Compile KVM with -Werror" 72 depends on KVM 76 Add -Werror to the build flags for KVM. 81 tristate "KVM for Intel (and compatible) processors support" 82 depends on KVM && IA32_FEAT_CTL 84 Provides support for KVM on processors equipped with Intel's VT 95 Enables KVM guests to create SGX enclaves. [all …]
|
/openbmc/qemu/docs/specs/ |
H A D | ppc-spapr-xive.rst | 52 KVM negotiation 55 When the guest starts under KVM, the capabilities of the host kernel 57 kernel, KVM will advertise the XIVE capability to QEMU or not. 60 depend on the XIVE KVM capability of the host. On older kernels 61 without XIVE KVM support, QEMU will use the emulated XIVE device as a 62 fallback and on newer kernels (>=5.2), the KVM XIVE device. 64 XIVE native exploitation mode is not supported for KVM nested guests, 65 VMs running under a L1 hypervisor (KVM on pSeries). In that case, the 66 hypervisor will not advertise the KVM capability and QEMU will use the 67 emulated XIVE device, same as for older versions of KVM. [all …]
|
/openbmc/linux/Documentation/process/ |
H A D | maintainer-kvm-x86.rst | 3 KVM x86 8 KVM strives to be a welcoming community; contributions from newcomers are 12 an honest effort to follow KVM x86's guidelines, are receptive to feedback, 22 KVM x86 is currently in a transition period from being part of the main KVM 23 tree, to being "just another KVM arch". As such, KVM x86 is split across the 24 main KVM tree, ``git.kernel.org/pub/scm/virt/kvm/kvm.git``, and a KVM x86 28 main KVM tree, while all development for the next cycle is routed through the 29 KVM x86 tree. In the unlikely event that a fix for the current cycle is routed 30 through the KVM x86 tree, it will be applied to the ``fixes`` branch before 31 making its way to the main KVM tree. [all …]
|
/openbmc/linux/Documentation/arch/s390/ |
H A D | vfio-ap-locking.rst | 35 The KVM Lock (include/linux/kvm_host.h) 46 The KVM Lock (kvm->lock) controls access to the state data for a KVM guest. This 50 The KVM pointer is stored in the in the matrix_mdev instance 52 been attached to the KVM guest. 69 KVM guest. This lock must be held: 71 1. To control access to the KVM pointer (matrix_mdev->kvm) while the vfio_ap 72 device driver is using it to plug/unplug AP devices passed through to the KVM 78 AP devices passed through to a KVM guest. 81 if the adapter is passed through to a KVM guest, it will have to be 84 found. The KVM pointer (matrix_mdev->kvm) can then be used to determine if [all …]
|
/openbmc/linux/Documentation/virt/kvm/x86/ |
H A D | running-nested-guests.rst | 4 Running nested guests with KVM 8 can be KVM-based or a different hypervisor). The straightforward 9 example is a KVM guest that in turn runs on a KVM guest (the rest of 20 | KVM (/dev/kvm) | 24 | KVM (/dev/kvm) | 31 - L0 – level-0; the bare metal host, running KVM 34 hypervisor", as it itself is capable of running KVM. 56 There are several scenarios where nested KVM can be useful, to name a 61 Provider, using nested KVM lets you rent a large enough "guest 79 From Linux kernel v4.20 onwards, the ``nested`` KVM parameter is enabled [all …]
|
H A D | errata.rst | 7 Whenever perfect emulation of a CPU feature is impossible or too hard, KVM 11 This file documents some of the known limitations that KVM has in 43 When KVM_X2APIC_API_USE_32BIT_IDS is enabled, KVM activates a hack/quirk that 47 have the same physical APIC ID, KVM will deliver events targeting that APIC ID 49 not enabled, KVM follows x86 architecture when processing interrupts (all vCPUs
|
/openbmc/linux/Documentation/virt/kvm/arm/ |
H A D | hypercalls.rst | 7 KVM handles the hypercall services as requested by the guests. New hypercall 8 services are regularly made available by the ARM specification or by KVM (as 11 This means that a guest booted on two different versions of KVM can observe 17 In order to remedy this situation, KVM exposes a set of "firmware 26 KVM implements the PSCI (Power State Coordination Interface) 33 highest PSCI version implemented by KVM and compatible with v0.2) 34 - Allows any PSCI version implemented by KVM and compatible with 40 offered by KVM to the guest via a HVC call. The workaround is described 46 KVM does not offer 58 offered by KVM to the guest via a HVC call. The workaround is described [all …]
|
/openbmc/linux/Documentation/virt/kvm/s390/ |
H A D | s390-diag.rst | 4 The s390 DIAGNOSE call on KVM 7 KVM on s390 supports the DIAGNOSE call for making hypercalls, both for 19 all supported DIAGNOSE calls need to be handled by either KVM or its 22 All DIAGNOSE calls supported by KVM use the RS-a format:: 34 DIAGNOSE function codes not specific to KVM, please refer to the 38 DIAGNOSE function code 'X'500' - KVM virtio functions 45 virtio subfunctions depend on KVM's userspace. Generally, userspace 62 Handled by either userspace or KVM (ioeventfd case). 69 General register 4 contains a 64bit identifier for KVM usage (the 80 DIAGNOSE function code 'X'501 - KVM breakpoint [all …]
|
H A D | s390-pv.rst | 9 Protected virtual machines (PVM) are KVM VMs that do not allow KVM to 12 provides an API that can be used by PVMs and KVM to request management 16 transition into protected mode. On transition, KVM registers the guest 34 Interrupt injection is safeguarded by the Ultravisor. As KVM doesn't 47 been intercepted into KVM. The exceptions need to be a valid outcome 48 of an instruction emulation by KVM, e.g. we can never inject a 49 addressing exception as they are reported by SIE since KVM has no 55 KVM cannot intercept lctl(g) and lpsw(e) anymore in order to be 67 to interpret every instruction, but needs to hand some tasks to KVM; 103 emulation of the instruction with the data provided by KVM. That might [all …]
|
/openbmc/qemu/docs/system/ppc/ |
H A D | pseries.rst | 157 Switching between the KVM-PR and KVM-HV kernel module 160 Currently, there are two implementations of KVM on Power, ``kvm_hv.ko`` and 164 If a host supports both KVM modes, and both KVM kernel modules are loaded, it is 172 KVM-PR 175 KVM-PR uses the so-called **PR**\ oblem state of the PPC CPUs to run the guests, 177 trap and have to be emulated by the host. That means you can run KVM-PR inside 184 privileged instructions run quite slow with KVM-PR. On the other hand, because 189 As KVM-PR can be run inside a pSeries guest, it can also provide nested 192 It is important to notice that, as KVM-HV provides a much better execution 194 years. Maintenance for KVM-PR has been minimal. [all …]
|
/openbmc/linux/arch/powerpc/kvm/ |
H A D | Kconfig | 3 # KVM configuration 20 config KVM config 51 tristate "KVM support for PowerPC book3s_32 processors" 54 select KVM 68 tristate "KVM support for PowerPC book3s_64 processors" 71 select KVM 85 tristate "KVM for POWER7 and later using hypervisor mode in host" 95 If you say Y here, KVM will use the hardware virtualization 99 that KVM is not usable under PowerVM (pHyp), is only usable 106 tristate "KVM support without using hypervisor mode in host" [all …]
|
/openbmc/linux/arch/s390/kvm/ |
H A D | Kconfig | 3 # KVM configuration 9 prompt "KVM" 19 config KVM config 21 prompt "Kernel-based Virtual Machine (KVM) support" 52 depends on KVM 54 Allow CAP_SYS_ADMIN users to create KVM virtual machines that are
|
/openbmc/qemu/docs/system/i386/ |
H A D | kvm-pv.rst | 1 Paravirtualized KVM features 7 In some cases when implementing hardware interfaces in software is slow, ``KVM`` 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 28 paravirtualized ``KVM`` features to the guest. 34 Expose a ``KVM`` specific paravirtualized clocksource to the guest. Supported 46 Note: since Linux v5.10 the feature is deprecated and not enabled by ``KVM``. 92 Note, by default, ``KVM`` allows the guest to use all currently supported
|
/openbmc/linux/arch/arm64/kvm/ |
H A D | Kconfig | 3 # KVM configuration 21 menuconfig KVM config 22 bool "Kernel-based Virtual Machine (KVM) support" 53 depends on KVM 55 Say Y here to enable the debug mode for the non-VHE KVM EL2 object. 62 bool "Protected KVM hypervisor stacktraces"
|
/openbmc/linux/Documentation/virt/kvm/devices/ |
H A D | vfio.rst | 15 VM, KVM should be updated about their presence. When registered with 16 KVM, a reference to the VFIO file is held by KVM. 23 KVM_DEV_VFIO_FILE_ADD: Add a VFIO file (group/device) to VFIO-KVM device 29 KVM_DEV_VFIO_FILE_DEL: Remove a VFIO file (group/device) from VFIO-KVM 41 allocated by sPAPR KVM.
|
/openbmc/qemu/target/s390x/kvm/ |
H A D | trace-events | 6 …_index, uint8_t state, const char *msg) "Warning: Unable to set cpu %d state %" PRIu8 " to KVM: %s" 9 kvm_sw_breakpoint(uint32_t n) "KVM: will use %d-byte sw breakpoints" 10 kvm_insn_unhandled_priv(uint32_t x) "KVM: unhandled PRIV: 0x%x" 11 kvm_insn_diag(uint32_t x) "KVM: unknown DIAG: 0x%x"
|
/openbmc/linux/Documentation/admin-guide/hw-vuln/ |
H A D | multihit.rst | 81 * - KVM: Mitigation: Split huge pages 83 * - KVM: Mitigation: VMX unsupported 84 - KVM is not vulnerable because Virtual Machine Extensions (VMX) is not supported. 85 * - KVM: Mitigation: VMX disabled 86 - KVM is not vulnerable because Virtual Machine Extensions (VMX) is disabled. 87 * - KVM: Vulnerable 111 In order to mitigate the vulnerability, KVM initially marks all huge pages 115 If EPT is disabled or not available on the host, KVM is in control of TLB 119 (non-nested) page tables. For simplicity, KVM will make large pages 122 Mitigation control on the kernel command line and KVM - module parameter [all …]
|
/openbmc/qemu/docs/system/arm/ |
H A D | cpu-features.rst | 27 when using the KVM accelerator and when running on a host CPU type that 28 supports the feature. While ``aarch64`` currently only works with KVM, 29 it could work with TCG. CPU features that are specific to KVM are 30 prefixed with "kvm-" and are described in "KVM VCPU Features". 58 all SVE vector lengths can be supported, when KVM is in use it's more 81 "'aarch64' feature cannot be disabled unless KVM is enabled and 32-bit EL1 is supported" 122 A note about CPU models and KVM 125 Named CPU models generally do not work with KVM. There are a few cases 126 that do work, e.g. using the named CPU model ``cortex-a57`` with KVM on a 127 seattle host, but mostly if KVM is enabled the ``host`` CPU type must be [all …]
|
/openbmc/linux/arch/mips/kvm/ |
H A D | Kconfig | 3 # KVM configuration 18 config KVM config 19 tristate "Kernel-based Virtual Machine (KVM) support" 36 depends on KVM
|
/openbmc/linux/Documentation/translations/zh_CN/mm/ |
H A D | hwpoison.rst | 45 现在主要目标是KVM客户机,但它适用于所有类型的应用程序。支持KVM需要最近的qemu-kvm 48 对于KVM的使用,需要一个新的信号类型,这样KVM就可以用适当的地址将机器检查注入到客户 62 应用程序以温和的方式处理内存错误(例如,放弃受影响的对象) 这是KVM qemu使用的
|
/openbmc/linux/Documentation/virt/kvm/ |
H A D | ppc-pv.rst | 4 The PPC KVM paravirtual interface 7 The basic execution principle by which KVM on PowerPC works is to run all kernel 24 To find out if we're running on KVM or not, we leverage the device tree. When 25 Linux is running on KVM, a node /hypervisor exists. That node contains a 28 Once you determined you're running under a PV capable KVM, you can now use 31 KVM hypercalls 57 apply for x86 and powerpc alike with the exception that each KVM hypercall 58 also needs to be ORed with the KVM vendor code which is (42 << 16). 75 map this shared page using the KVM hypercall KVM_HC_PPC_MAP_MAGIC_PAGE. 97 When mapping the magic page using the KVM hypercall KVM_HC_PPC_MAP_MAGIC_PAGE, [all …]
|
/openbmc/linux/Documentation/translations/zh_CN/arch/arm64/ |
H A D | perf.rst | 54 这些属性分别排除了 KVM 宿主机和客户机。 56 KVM 宿主机可能运行在 EL0(用户空间),EL1(non-VHE 内核)和 59 KVM 客户机可能运行在 EL0(用户空间)和 EL1(内核)。
|