- Mar 03, 2017
-
-
Paolo Bonzini authored
This lets us remove a bunch of CONFIG_LINUX defines. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Oct 04, 2016
-
-
Pavel Fedin authored
Introduce global kvm_msi_use_devid flag plus associated kvm_msi_devid_required() macro. Passes the device ID, if needed, while building the MSI route entry. Device IDs are required by the ARM GICv3 ITS (IRQ remapping function is based on this information). Signed-off-by:
Pavel Fedin <p.fedin@samsung.com> Signed-off-by:
Eric Auger <eric.auger@redhat.com> Message-id: 1474616617-366-5-git-send-email-eric.auger@redhat.com Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
- Sep 13, 2016
-
-
Cao jin authored
kvm_setup_guest_memory only does "madvise to QEMU_MADV_DONTFORK" and is only called by ram_block_add, which actually is duplicate code. Bonus: add simple comment for kvm_has_sync_mmu to make life easier. Suggested-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Cao jin <caoj.fnst@cn.fujitsu.com> Message-Id: <1473662096-32598-1-git-send-email-caoj.fnst@cn.fujitsu.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Jul 21, 2016
-
-
Peter Xu authored
In the past, we are doing gsi route commit for each irqchip route update. This is not efficient if we are updating lots of routes in the same time. This patch removes the committing phase in kvm_irqchip_update_msi_route(). Instead, we do explicit commit after all routes updated. Signed-off-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Peter Xu authored
Changing the original MSIMessage parameter in kvm_irqchip_add_msi_route into the vector number. Vector index provides more information than the MSIMessage, we can retrieve the MSIMessage using the vector easily. This will avoid fetching MSIMessage every time before adding MSI routes. Meanwhile, the vector info will be used in the coming patches to further enable gsi route update notifications. Signed-off-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
- May 30, 2016
-
-
Gu Zheng authored
In order to deal well with the kvm vcpus (which can not be removed without any protection), we do not close KVM vcpu fd, just record and mark it as stopped into a list, so that we can reuse it for the appending cpu hot-add request if possible. It is also the approach that kvm guys suggested: https://www.mail-archive.com/kvm@vger.kernel.org/msg102839.html Signed-off-by:
Chen Fan <chen.fan.fnst@cn.fujitsu.com> Signed-off-by:
Gu Zheng <guz.fnst@cn.fujitsu.com> Signed-off-by:
Zhu Guihua <zhugh.fnst@cn.fujitsu.com> Signed-off-by:
Bharata B Rao <bharata@linux.vnet.ibm.com> [- Explicit CPU_REMOVE() from qemu_kvm/tcg_destroy_vcpu() isn't needed as it is done from cpu_exec_exit() - Use iothread mutex instead of global mutex during destroy - Don't cleanup vCPU object from vCPU thread context but leave it to the callers (device_add/device_del)] Reviewed-by:
Thomas Huth <thuth@redhat.com> Reviewed-by:
David Gibson <david@gibson.dropbear.id.au> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
- May 19, 2016
-
-
Paolo Bonzini authored
All qdev definitions are available from other headers, user-mode emulation does not need hw/hw.h. By considering system emulation only, it is simpler to disentangle hw/hw.h from NEED_CPU_H. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Feb 04, 2016
-
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1454089805-5470-16-git-send-email-peter.maydell@linaro.org
-
- Nov 12, 2015
-
-
Jason Wang authored
Signed-off-by:
Jason Wang <jasowang@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Acked-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Oct 19, 2015
-
-
Thomas Huth authored
The functions for checking xcrs, xsave and pit_state2 are only used on x86, so they should reside in target-i386/kvm.c. Signed-off-by:
Thomas Huth <thuth@redhat.com> Message-Id: <1444933820-6968-1-git-send-email-thuth@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Pavel Fedin authored
In-kernel ITS emulation on ARM64 will require to supply requester IDs. These IDs can now be retrieved from the device pointer using new pci_requester_id() function. This patch adds pci_dev pointer to KVM GSI routing functions and makes callers passing it. x86 architecture does not use requester IDs, but hw/i386/kvm/pci-assign.c also made passing PCI device pointer instead of NULL for consistency with the rest of the code. Signed-off-by:
Pavel Fedin <p.fedin@samsung.com> Message-Id: <ce081423ba2394a4efc30f30708fca07656bc500.1444916432.git.p.fedin@samsung.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Jul 06, 2015
-
-
Eric Auger authored
Commit f41389ae introduced kvm_resamplefds_enabled() and associated kvm_resamplefds_allowed boolean. This patch adds non-KVM version for kvm_resamplefds_enabled and also declares kvm_resamplefds_allowed in kvm-stub as it is done for fellow kvm_irqfds_allowed. Signed-off-by:
Eric Auger <eric.auger@linaro.org> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Alex Williamson <alex.williamson@redhat.com>
-
Eric Auger authored
Anticipating for the introduction of new add/remove functions taking a qemu_irq parameter, let's rename existing ones with a gsi suffix. Signed-off-by:
Eric Auger <eric.auger@linaro.org> Tested-by:
Vikram Sethi <vikrams@codeaurora.org> Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Alex Williamson <alex.williamson@redhat.com>
-
- Nov 23, 2014
-
-
Igor Mammedov authored
When more memory devices are used than available KVM memory slots, QEMU crashes with: kvm_alloc_slot: no free slot available Aborted (core dumped) Fix this by checking that KVM has a free slot before attempting to map memory in guest address space. Signed-off-by:
Igor Mammedov <imammedo@redhat.com> Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
- Oct 04, 2014
-
-
Eduardo Habkost authored
Note that this has an user-visible side-effect: instead of reporting "KVM is not supported for this target", QEMU binaries not supporting KVM will report "kvm accelerator does not exist". As kvm_availble() always return 1 when CONFIG_KVM is enabled, we don't need to set AccelClass.available anymore. kvm_enabled() is not being completely removed yet only because qmp_query_kvm() still uses it. This also allows us to make kvm_init() static. Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Jun 19, 2014
-
-
Nikolay Nikolaev authored
Add a function to check if the eventfd capability is present in KVM in the host kernel. Signed-off-by:
Antonios Motakis <a.motakis@virtualopensystems.com> Signed-off-by:
Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Acked-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- May 20, 2014
-
-
Cornelia Huck authored
Make use of the new s390 adapter irq routing support to enable real in-kernel irqfds for virtio-ccw with adapter interrupts. Note that s390 doesn't provide the common KVM_CAP_IRQCHIP capability, but rather needs KVM_CAP_S390_IRQCHIP to be enabled. This is to ensure backward compatibility. Reviewed-by:
Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by:
Christian Borntraeger <borntraeger@de.ibm.com> Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Cornelia Huck <cornelia.huck@de.ibm.com>
-
- May 05, 2014
-
-
Marcel Apfelbaum authored
This minimizes QEMUMachine usage, as part of machine QOM-ification. Signed-off-by:
Marcel Apfelbaum <marcel.a@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Mar 13, 2014
-
-
Andreas Färber authored
This reverts commit 9c06a1f7. The new header sysemu/qemumachine.h is undesired. Suggested-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Mar 05, 2014
-
-
Aneesh Kumar K.V authored
Targets like ppc64 support different types of KVM, one which use hypervisor mode and the other which doesn't. Add a new machine option kvm-type that helps in selecting the respective ones We also add a new QEMUMachine callback get_vm_type that helps in mapping the string representation of kvm type specified. Signed-off-by:
Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> [agraf: spelling fixes, use error_report(), use qemumachine.h] Signed-off-by:
Alexander Graf <agraf@suse.de>
-
Alexander Graf authored
Older gcc versions (such as the one in SLES11) get confused when you declare a typedef on the same struct twice. To work around that limitation, let's extract the QEMUMachine typedef into a separate header file that is guarded by preprocessor duplicate include checks. This fixes the following type of compile errors for me: In file included from vl.c:125: include/hw/xen/xen.h:39: error: redefinition of typedef "QEMUMachine" include/sysemu/kvm.h:155: error: previous declaration of "QEMUMachine" was here Signed-off-by:
Alexander Graf <agraf@suse.de>
-
- Sep 20, 2013
-
-
Alexey Kardashevskiy authored
On PPC64 systems MSI Messages are translated to system IRQ in a PCI host bridge. This is already supported for emulated MSI/MSIX but not for irqfd where the current QEMU allocates IRQ numbers from irqchip and maps MSIMessages to IRQ in the host kernel. This adds a new direct mapping flag which tells the kvm_irqchip_add_msi_route() function that a new VIRQ should not be allocated, instead the value from MSIMessage::data should be used. It is up to the platform code to make sure that this contains a valid IRQ number as sPAPR does in spapr_pci.c. Signed-off-by:
Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Aug 28, 2013
-
-
Paolo Bonzini authored
Non-KVM targets fail compilation on the uq/master branch. Fix the prototype of kvm_irqchip_add_irqfd_notifier to match the one in kvm-all.c. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Gleb Natapov <gleb@redhat.com>
-
- Jul 26, 2013
-
-
Stefan Weil authored
Passing a CPUState pointer instead of a CPUArchState pointer eliminates the last target dependent data type in sysemu/kvm.h. It also simplifies the code. Signed-off-by:
Stefan Weil <sw@weilnetz.de> Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jul 23, 2013
-
-
Andreas Färber authored
CPUArchState is no longer directly used since converting CPU loops to CPUState. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jul 09, 2013
-
-
Andreas Färber authored
Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Since CPU loops are done as last step in kvm_{insert,remove}_breakpoint() and kvm_remove_all_breakpoints(), we do not need to distinguish between invoking CPU and iterated CPUs and can thereby free the identifier for use as a global variable. Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jun 30, 2013
-
-
Alexander Graf authored
On PPC, we can have different types of interrupt controllers, so we really only know that we are going to use one when we created it. Export kvm_init_irq_routing() to common code, so that we don't have to call kvm_irqchip_create(). Signed-off-by:
Alexander Graf <agraf@suse.de>
-
- Jun 28, 2013
-
-
Andreas Färber authored
It no longer uses CPUArchState. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
CPUArchState is no longer needed. Prepares for changing qemu_kvm_init_cpu_signals() argument to CPUState. Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It no longer relies on CPUArchState since 20d695a9. Reviewed-by:
liguang <lig.fnst@cn.fujitsu.com> Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- May 29, 2013
-
-
Jordan Justen authored
Signed-off-by:
Jordan Justen <jordan.l.justen@intel.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Message-id: 1369816047-16384-3-git-send-email-jordan.l.justen@intel.com Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
- May 01, 2013
-
-
Igor Mammedov authored
If hotplugged, synchronize CPU state to KVM. Signed-off-by:
Igor Mammedov <imammedo@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Igor Mammedov authored
It will provide stubs for *-user targets once softmmu-specific calls are attempted from common CPU code. Signed-off-by:
Igor Mammedov <imammedo@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Apr 15, 2013
-
-
Igor Mammedov authored
... so it could be called without requiring CPUArchState. Signed-off-by:
Igor Mammedov <imammedo@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Paolo Bonzini authored
Headers in include/exec/ are for the deepest innards of QEMU, they should almost never be included directly. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Apr 14, 2013
-
-
Michael S. Tsirkin authored
There are only used internally now, move them out of header and out of stub. Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
- Jan 28, 2013
-
-
Andreas Färber authored
Since commit 20d695a9 (kvm: Pass CPUState to kvm_arch_*) CPUArchState is no longer needed. Allows to change qemu_kvm_eat_signals() argument as well. Signed-off-by:
Andreas Färber <afaerber@suse.de> Reviewed-by:
Gleb Natapov <gleb@redhat.com>
-
- Jan 15, 2013
-
-
Andreas Färber authored
CPUArchState is no longer needed, and it thereby no longer depends on NEED_CPU_H. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jan 07, 2013
-
-
Michael S. Tsirkin authored
Will be used by virtio-pci. Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-