- 16 Jan, 2013 1 commit
-
-
Michael S. Tsirkin authored
ppc64 build needs this stub to build with virtio enabled. Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Tested-by:
Andreas Färber <afaerber@suse.de> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
- 15 Jan, 2013 2 commits
-
-
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>
-
Andreas Färber authored
Note that target-alpha accesses this field from TCG, now using a negative offset. Therefore the field is placed last in CPUState. Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change. Move common parts of mips cpu_state_reset() to mips_cpu_reset(). Acked-by: Richard Henderson <rth@twiddle.net> (for alpha) [AF: Rebased onto ppc CPU subclasses and openpic changes] Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- 19 Dec, 2012 8 commits
-
-
Andreas Färber authored
Pass CPUState / {X86,S390}CPU to helper functions. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Adapt some functions to take CPUState / {PowerPC,S390}CPU argument. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Adapt helper functions to pass X86CPU / PowerPCCPU / S390CPU. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Move kvm_vcpu_dirty field into CPUState to simplify things and change its type to bool while at it. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- 17 Dec, 2012 2 commits
-
-
Michael S. Tsirkin authored
Deleting a GSI isn't necessary: it is enough to stop using it. Delay flush until an entry is used. Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Michael S. Tsirkin authored
update all users so we can remove the makefile hack. Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
- 26 Nov, 2012 1 commit
-
-
Alexey Kardashevskiy authored
QEMU allocates a map enough for 4k pages. However the system page size can be 64K (for example on POWER) and the host kernel uses only a small part of it as one big stores a dirty flag for 16 pages 4K each, the hpratio variable stores this ratio and the kvm_get_dirty_pages_log_range function handles it correctly. However kvm_get_dirty_pages_log_range still goes beyond the data provided by the host kernel which is not correct. It does not cause errors at the moment as the whole bitmap is zeroed before doing KVM ioctl. The patch reduces number of iterations over the map. Signed-off-by:
Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
- 14 Nov, 2012 1 commit
-
-
Jan Kiszka authored
So far we only removed them from the guest, leaving its states in the list. This made it impossible for gdb to re-enable breakpoints on the same address after re-attaching. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Marcelo Tosatti <mtosatti@redhat.com>
-
- 31 Oct, 2012 3 commits
-
-
Andreas Färber authored
CPUArchState is no longer needed. Move the declaration to include/qemu/cpu.h and add documentation. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
CPUArchState is no longer needed there. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Change return type to bool, move to include/qemu/cpu.h and add documentation. Signed-off-by:
Andreas Färber <afaerber@suse.de> Reviewed-by:
Igor Mammedov <imammedo@redhat.com> [AF: Updated new caller qemu_in_vcpu_thread()]
-
- 23 Oct, 2012 1 commit
-
-
Avi Kivity authored
target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are reserved) and its purpose doesn't match the name (most target_phys_addr_t addresses are not target specific). Replace it with a finger-friendly, standards conformant hwaddr. Outstanding patchsets can be fixed up with the command git rebase -i --exec 'find -name "*.[ch]" | xargs s/target_phys_addr_t/hwaddr/g' origin Signed-off-by:
Avi Kivity <avi@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
- 22 Oct, 2012 2 commits
-
-
Avi Kivity authored
Using the AddressSpace type reduces confusion, as you can't accidentally supply the MemoryRegion you're interested in. Reviewed-by:
Anthony Liguori <aliguori@us.ibm.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Avi Kivity authored
Instead of calling a global function on coalesced mmio changes, which routes the call to kvm if enabled, add coalesced mmio hooks to MemoryListener and make kvm use that instead. The motivation is support for multiple address spaces (which means we we need to filter the call on the right address space) but the result is cleaner as well. Signed-off-by:
Avi Kivity <avi@redhat.com>
-
- 15 Oct, 2012 2 commits
-
-
Avi Kivity authored
Removes quite a bit of useless code. Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Avi Kivity authored
The construct if (address_space == get_system_memory()) { // memory thing } else { // io thing } fails if we have more than two address spaces. Use a separate listener for memory and I/O, and utilize MemoryListener's address space filtering to fix this. Signed-off-by:
Avi Kivity <avi@redhat.com>
-
- 14 Sep, 2012 1 commit
-
-
Stefan Weil authored
Report from smatch: kvm-all.c:1373 kvm_init(135) warn: variable dereferenced before check 's' (see line 1360) 's' cannot by NULL (it was alloced using g_malloc0), so there is no need to check it here. Signed-off-by:
Stefan Weil <sw@weilnetz.de> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Stefan Hajnoczi <stefanha@gmail.com>
-
- 11 Sep, 2012 3 commits
-
-
Jan Kiszka authored
This variable is no longer bound to irqchip, and the IOCTL sets the IRQ level, does not directly inject it. No functional changes. Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Marcelo Tosatti <mtosatti@redhat.com>
-
Jan Kiszka authored
The memory subsystem will now take care of flushing whenever affected regions are accessed or the memory mapping changes. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Marcelo Tosatti <mtosatti@redhat.com>
-
Peter Maydell authored
Move the init of the irqchip_inject_ioctl field of KVMState out of kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() can be used even when no irqchip is created (for architectures that support async interrupt notification even without an in kernel irqchip). Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Marcelo Tosatti <mtosatti@redhat.com>
-
- 10 Sep, 2012 2 commits
-
-
Jan Kiszka authored
Will be used by PCI device assignment code. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Acked-by:
Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Jan Kiszka authored
This service allows to update an MSI route without releasing/reacquiring the associated VIRQ. Will be used by PCI device assignment, later on likely also by virtio/vhost and VFIO. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Acked-by:
Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
- 09 Sep, 2012 2 commits
-
-
Jan Kiszka authored
No need to expose the fd-based interface, everyone will already be fine with the more handy EventNotifier variant. Rename the latter to clarify that we are still talking about irqfds here. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Acked-by:
Alex Williamson <alex.williamson@redhat.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Christian Borntraeger authored
valgrind with kvm produces a big amount of false positives regarding "Conditional jump or move depends on uninitialised value(s)". This happens because the guest memory is allocated with qemu_vmalloc which boils down posix_memalign etc. This function is (correctly) considered by valgrind as returning undefined memory. Since valgrind is based on jitting code, it will not be able to see changes made by the guest to guest memory if this is done by KVM_RUN, thus keeping most of the guest memory undefined. Now lots of places in qemu will then use guest memory to change behaviour. To avoid the flood of these messages, lets declare the whole guest memory as defined. This will reduce the noise and allows us to see real problems. In the future we might want to make this conditional, since there is actually something that we can use those false positives for: These messages will point to code that depends on guest memory, so we can use these backtraces to actually make an audit that is focussed only at those code places. For normal development we dont want to see those messages, though. Signed-off-by:
Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
- 09 Aug, 2012 7 commits
-
-
Peter Maydell authored
Don't assume having an in-kernel irqchip means that GSI routing is enabled. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Peter Maydell authored
Decouple another x86-specific assumption about what irqchips imply. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Peter Maydell authored
Instead of assuming that we can use irqfds if and only if kvm_irqchip_in_kernel(), add a bool to the KVMState which indicates this, and is set only on x86 and only if the irqchip is in the kernel. The kernel documentation implies that the only thing you need to use KVM_IRQFD is that KVM_CAP_IRQFD is advertised, but this seems to be untrue. In particular the kernel does not (alas) return a sensible error if you try to set up an irqfd when you haven't created an irqchip. If it did we could remove all this nonsense and let the kernel return the error code. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Acked-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Peter Maydell authored
kvm_allows_irq0_override() is a totally x86 specific concept: move it to the target-specific source file where it belongs. This means we need a new header file for the prototype: kvm_i386.h, in line with the existing kvm_ppc.h. While we are moving it, fix the return type to be 'bool' rather than 'int'. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Peter Maydell authored
Rename the function kvm_irqchip_set_irq() to kvm_set_irq(), since it can be used for sending (asynchronous) interrupts whether there is a full irqchip model in the kernel or not. (We don't include 'async' in the function name since asynchronous is the normal case.) Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Peter Maydell authored
On x86 userspace delivers interrupts to the kernel asynchronously (and therefore VCPU idle management is done in the kernel) if and only if there is an in-kernel irqchip. On other architectures this isn't necessarily true (they may always send interrupts asynchronously), so define a new kvm_async_interrupts_enabled() function instead of misusing kvm_irqchip_in_kernel(). Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Dunrong Huang authored
Add a helper function for fetching max cpus supported by kvm. Make QEMU exit with an error message if smp_cpus exceeds limit of VCPU count retrieved by invoking this helper function. Signed-off-by:
Dunrong Huang <riegamaths@gmail.com> Signed-off-by:
Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
- 12 Jul, 2012 2 commits
-
-
Paolo Bonzini authored
All transports can use the same event handler for the irqfd, though the exact mechanics of the assignment will be specific. Note that there are three states: handled by the kernel, handled in userspace, disabled. This also lets virtio use event_notifier_set_handler. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
Paolo Bonzini authored
Under Win32, EventNotifiers will not have event_notifier_get_fd, so we cannot call it in common code such as hw/virtio-pci.c. Pass a pointer to the notifier, and only retrieve the file descriptor in kvm-specific code. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Avi Kivity <avi@redhat.com>
-