From: Gleb Natapov g...@redhat.com
This allows timers to keep track of injected and colaesced interrupts.
Signed-off-by: Gleb Natapov g...@redhat.com
Signed-off-by: Avi Kivity a...@redhat.com
diff --git a/libkvm/kvm-common.h b/libkvm/kvm-common.h
index d4fffbe..de1ada2 100644
---
From: Sheng Yang sh...@linux.intel.com
This patch finally enable MSI-X.
What we need for MSI-X:
1. Intercept one page in MMIO region of device. So that we can get guest desired
MSI-X table and set up the real one. Now this have been done by guest, and
transfer to kernel using ioctl
From: Joerg Roedel joerg.roe...@amd.com
Not releasing the time_page causes a leak of that page or the compound
page it is situated in.
Cc: sta...@kernel.org
Signed-off-by: Joerg Roedel joerg.roe...@amd.com
Signed-off-by: Avi Kivity a...@redhat.com
diff --git a/arch/x86/kvm/x86.c
From: Sheng Yang sh...@linux.intel.com
Introduce KVM_SET_MSIX_NR and KVM_SET_MSIX_ENTRY two ioctls.
This two ioctls are used by userspace to specific guest device MSI-X entry
number and correlate MSI-X entry with GSI during the initialization stage.
MSI-X should be well initialzed before
From: Sheng Yang sh...@linux.intel.com
We have to handle more than one interrupt with one handler for MSI-X. Avi
suggested to use a flag to indicate the pending. So here is it.
Signed-off-by: Sheng Yang sh...@linux.intel.com
Signed-off-by: Avi Kivity a...@redhat.com
diff --git
From: Marcelo Tosatti mtosa...@redhat.com
Skip the test which checks if the PIT is properly routed when
using the IOAPIC, aimed at buggy hardware.
Signed-off-by: Marcelo Tosatti mtosa...@redhat.com
Signed-off-by: Avi Kivity a...@redhat.com
diff --git a/arch/x86/kernel/kvm.c
On 25.02.2009, at 17:03, Avi Kivity wrote:
Manfred_Knick wrote:
B) Any chance to solve this problem?
'rmmod kvm-intel; rmmod kvm' should work.
Avi,
thanks a lot for your _very_ speedy response!!
So I take it that
-- You can't have them both at once, at the same time
which turns out to
On 26.02.2009, at 01:48, Piavlo wrote:
Hi,
I'm new to KVM and have some questions regarding kvm cpu emulation,
hope you can answer them.
I have a kvm node with Dual-Core AMD Opteron(tm) Processor 2218
processors.
1)I was wondering choosing what cpu emulation for VM would give
best
When assign a device behind conventional PCI bridge or PCIe to
PCI/PCI-x bridge to a domain, it must assign its bridge and may
also need to assign secondary interface to the same domain.
Dependent assignment is already there, but dependent
deassignment is missed when detach device from virtual
Joerg Roedel wrote:
Not releasing the time_page causes a leak of that page or the compound
page it is situated in.
Applied, thanks.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to
Marcelo Tosatti wrote:
Glauber, Gerd,
See comments on
http://sourceforge.net/tracker2/?func=detailaid=2627272group_id=180599atid=893831
regarding the version variable. Looks fishy.
From: Matt T. Yourst you...@users.sourceforge.net
This issue just appeared in kvm-84 when running on 2.6.28.7
Marcelo Tosatti wrote:
Skip the test which checks if the PIT is properly routed when
using the IOAPIC, aimed at buggy hardware.
Applied, thanks.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a
Currently, using mouse with vncviewer is a bit broken: VNC mouse
pointer moves much faster than the real mouse pointer.
As a result, it's not always easy to pointclick in the right area.
Is there a workaround for that?
--
Tomasz Chmielewski
http://wpkg.org
--
To unsubscribe from this list:
Alexander Graf wrote:
2) I want to optimize/recompile a gentoo VM system packages for the
chosen cpu - if that matters.
Does rebuilding the VM packages to fine tuned for the emulated cpu
give any advantages?
I don't think features like SSE3 matter that much in a normal environment.
I just
Alexander Graf schrieb:
I have a patch lying around that activates hardware virtualization
features on first VM creation and deactivates them on last destruction,
so you can insmod kvm without blocking other VMMs from working.
Of course you still can't run kvm and vmware virtual machines in
On 26.02.2009, at 12:07, Piavlo wrote:
Alexander Graf wrote:
2) I want to optimize/recompile a gentoo VM system packages for the
chosen cpu - if that matters.
Does rebuilding the VM packages to fine tuned for the emulated cpu
give any advantages?
I don't think features like SSE3 matter that
Tomasz Chmielewski wrote:
Currently, using mouse with vncviewer is a bit broken: VNC mouse
pointer moves much faster than the real mouse pointer.
As a result, it's not always easy to pointclick in the right area.
Is there a workaround for that?
-usbdevice tablet
--
error compiling
On Thursday 26 February 2009 11:34:43 Manfred_Knick wrote:
Thus, if one would like to protect any ignorant user from harming
himself, the check for exclusiveness would have to be applied
dynamically at each try to start-up a VM instead, not at installation time.
Not necessarly the ignorant. If
Piavlo wrote:
Alexander Graf wrote:
virtio drivers have nothing to do with CPU.
Yes I mistakenly used the term viritio drivers instead of
paravirtual guest support. So what I wanted to ask is if I build a
guest kernel with paravitual support
will it make the native hardware cpu features
Avi Kivity schrieb:
Tomasz Chmielewski wrote:
Currently, using mouse with vncviewer is a bit broken: VNC mouse
pointer moves much faster than the real mouse pointer.
As a result, it's not always easy to pointclick in the right area.
Is there a workaround for that?
-usbdevice tablet
I
With todays git I get the following warnings on s390:
CC [M] arch/s390/kvm/kvm-s390.o
In file included from arch/s390/kvm/kvm-s390.c:22:
include/linux/kvm_host.h:357: warning: 'struct kvm_ioapic' declared inside
parameter list
include/linux/kvm_host.h:357: warning: its scope is only this
Christian Borntraeger wrote:
With todays git I get the following warnings on s390:
CC [M] arch/s390/kvm/kvm-s390.o
In file included from arch/s390/kvm/kvm-s390.c:22:
include/linux/kvm_host.h:357: warning: 'struct kvm_ioapic' declared inside
parameter list
include/linux/kvm_host.h:357:
Dietmar Maurer schrieb:
use the vmmouse driver (instead of mouse) for X
Assuming it'll work, what about console? Well, I guess I could live with it.
But what about Windows guests? I've heard unconfirmed rumours that
Windows doesn't run X (and have no console mode, either).
Do I have to
Dietmar Maurer schrieb:
use the vmmouse driver (instead of mouse) for X
Assuming it'll work, what about console? Well, I guess I could live
with it.
But what about Windows guests? I've heard unconfirmed rumours that
Windows doesn't run X (and have no console mode, either).
Windows
Am Thursday 26 February 2009 13:43:54 schrieb Avi Kivity:
Declaring struct kvm_ioapic should help.
Better to limit the declaration to archs that have ioapics... do we have
a KVM_HAVE_IOAPIC define?
Something like (works on s390, not tested on x86)?
[PATCH] kvm: use ioapic functions only on
And don't zero bitmap twice. Assume that caller zeros it.
Signed-off-by: Gleb Natapov g...@redhat.com
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index 7c2cb2b..21627b9 100644
--- a/virt/kvm/ioapic.c
+++ b/virt/kvm/ioapic.c
@@ -170,12 +170,11 @@ void kvm_ioapic_get_delivery_bitmask(struct
On Thu, Feb 26, 2009 at 01:34:03PM +0100, Tomasz Chmielewski wrote:
Avi Kivity schrieb:
Tomasz Chmielewski wrote:
Currently, using mouse with vncviewer is a bit broken: VNC mouse
pointer moves much faster than the real mouse pointer.
As a result, it's not always easy to pointclick in the
Ricardo Botelho de Sousa schrieb:
On Thursday 26 February 2009 11:34:43 Manfred_Knick wrote:
Thus, if one would like to protect any ignorant user from harming
himself, the check for exclusiveness would have to be applied
dynamically at each try to start-up a VM instead, not at installation
Marcelo Tosatti wrote:
Applied all, thanks.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
This is the first batch of three containing the current 2.6.30 patch queue
for review.
Changes include nested virtualization on AMD hosts, ppc e500 support,
improved guest debugging support, better performance and improved emulation
accuracy.
Alexander Graf (10):
KVM: SVM: Clean up VINTR
From: Alexander Graf ag...@suse.de
MSR_EFER_SVME_MASK, MSR_VM_CR and MSR_VM_HSAVE_PA are set in KVM
specific headers. Linux does have nice header files to collect
EFER bits and MSR IDs, so IMHO we should put them there.
While at it, I also changed the naming scheme to match that
of the other
Don't allow a vcpu with cr4.pge cleared to use a shadow page created with
cr4.pge set; this might cause a cr3 switch not to sync ptes that have the
global bit set (the global bit has no effect if !cr4.pge).
This can only occur on smp with different cr4.pge settings for different
vcpus (since a
From: Alexander Graf ag...@suse.de
The current VINTR intercept setters don't look clean to me. To make
the code easier to read and enable the possibilty to trap on a VINTR
set, this uses a helper function to set the VINTR intercept.
v2 uses two distinct functions for setting and clearing the bit
From: Alexander Graf ag...@suse.de
This patch implements the GIF flag and the clgi and stgi instructions that
set this flag. Only if the flag is set (default), interrupts can be received by
the CPU.
To keep the information about that somewhere, this patch adds a new hidden
flags vector. that is
Eliminating a callback and a useless structure.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/mmu.c | 83 ++-
1 files changed, 29 insertions(+), 54 deletions(-)
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index
If cr4.pge is cleared, we ought to treat any ptes in the page as non-global.
This allows us to remove the check from set_spte().
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/mmu.c |4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kvm/mmu.c
From: Joerg Roedel joerg.roe...@amd.com
KVM tries to read the VM_CR MSR to find out if SVM was disabled by
the BIOS. So implement read support for this MSR to make nested
SVM running.
Signed-off-by: Joerg Roedel joerg.roe...@amd.com
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: Avi
Using a for_each loop style removes the need to write callback and nasty
casts.
Implement the walk_shadow() using the for_each_shadow_entry().
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/mmu.c | 69 +---
1 files changed, 49
From: Alexander Graf ag...@suse.de
This patch implements VMRUN. VMRUN enters a virtual CPU and runs that
in the same context as the normal guest CPU would run.
So basically it is implemented the same way, a normal CPU would do it.
We also prepare all intercepts that get OR'ed with the original
No longer used.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/mmu.c | 20
1 files changed, 0 insertions(+), 20 deletions(-)
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index a25e1ad..1585080 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@
From: Jan Kiszka jan.kis...@siemens.com
When single-stepping over STI and MOV SS, we must clear the
corresponding interruptibility bits in the guest state. Otherwise
vmentry fails as it then expects bit 14 (BS) in pending debug exceptions
being set, but that's not correct for the guest debugging
From: Alexander Graf ag...@suse.de
Userspace has to tell the kernel module somehow that nested SVM should be used.
The easiest way that doesn't break anything I could think of is to implement
if (cpuid svm)
allow write to efer
else
deny write to efer
Old userspaces mask the SVM
From: Alexander Graf ag...@suse.de
Implement the hsave MSR, that gives the VCPU a GPA to save the
old guest state in.
v2 allows userspace to save/restore hsave
v4 dummys out the hsave MSR, so we use a host page
v6 remembers the guest's hsave and exports the MSR
Acked-by: Joerg Roedel
Effectively reverting to the pre walk_shadow() version -- but now
with the reusable for_each().
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/paging_tmpl.h | 128
1 files changed, 58 insertions(+), 70 deletions(-)
diff --git
The AMD SVM instruction family all overload the 0f 01 /3 opcode, further
multiplexing on the three r/m bits. But the code decided that anything that
isn't a vmmcall must be an lidt (which shares the 0f 01 /3 opcode, for the
case that mod = 3).
Fix by aborting emulation if this isn't a vmmcall.
From: Jan Kiszka jan.kis...@siemens.com
Remove the remaining arch fragments of the old guest debug interface
that now break non-x86 builds.
Signed-off-by: Jan Kiszka jan.kis...@siemens.com
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/ia64/include/asm/kvm_host.h|2 --
From: Jan Kiszka jan.kis...@siemens.com
This rips out the support for KVM_DEBUG_GUEST and introduces a new IOCTL
instead: KVM_SET_GUEST_DEBUG. The IOCTL payload consists of a generic
part, controlling the main switch and the single-step feature. The
arch specific part adds an x86 interface for
This is an x86 specific stucture and has no business living in common code.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/include/asm/kvm_host.h | 12
include/linux/kvm_types.h | 12
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git
From: Jes Sorensen j...@sgi.com
Implement KVM_IA64_VCPU_[GS]ET_STACK ioctl calls. This is required
for live migrations.
Patch is based on previous implementation that was part of old
GET/SET_REGS ioctl calls.
Signed-off-by: Jes Sorensen j...@sgi.com
Signed-off-by: Avi Kivity a...@redhat.com
---
From: Hollis Blanchard holl...@us.ibm.com
Signed-off-by: Hollis Blanchard holl...@us.ibm.com
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/powerpc/include/asm/kvm_ppc.h |5 +++--
arch/powerpc/kvm/44x_tlb.c |2 +-
arch/powerpc/kvm/powerpc.c |2 +-
3 files changed,
From: Hollis Blanchard holl...@us.ibm.com
Signed-off-by: Hollis Blanchard holl...@us.ibm.com
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/powerpc/include/asm/kvm_44x.h |7 +++
arch/powerpc/include/asm/kvm_host.h |7 ---
2 files changed, 7 insertions(+), 7 deletions(-)
From: Jan Kiszka jan.kis...@siemens.com
Limit KVM_CAP_SET_GUEST_DEBUG only to those archs (currently x86) that
support it. This simplifies user space stub implementations.
Signed-off-by: Jan Kiszka jan.kis...@siemens.com
Signed-off-by: Avi Kivity a...@redhat.com
---
include/linux/kvm.h |2
From: Xiantao Zhang xiantao.zh...@intel.com
Remove some unnecessary blank lines to accord with Kernel's coding style.
Also remove vcpu_get_itir_on_fault due to no reference to it.
Signed-off-by: Xiantao Zhang xiantao.zh...@intel.com
Signed-off-by: Avi Kivity a...@redhat.com
---
From: Jan Kiszka jan.kis...@siemens.com
So far KVM only had basic x86 debug register support, once introduced to
realize guest debugging that way. The guest itself was not able to use
those registers.
This patch now adds (almost) full support for guest self-debugging via
hardware registers. It
From: Izik Eidus iei...@redhat.com
vmap() on guest pages hides those pages from the Linux mm for an extended
(userspace determined) amount of time. Get rid of it.
Signed-off-by: Izik Eidus iei...@redhat.com
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/x86.c| 62
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/paging_tmpl.h | 81 +--
1 files changed, 32 insertions(+), 49 deletions(-)
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index 69c7e33..46b68f9 100644
---
From: Marcelo Tosatti mtosa...@redhat.com
VMX initializes the TSC offset for each vcpu at different times, and
also reinitializes it for vcpus other than 0 on APIC SIPI message.
This bug causes the TSC's to appear unsynchronized in the guest, even if
the host is good.
Older Linux kernels don't
Instead of calculating it on every shadow page allocation, set it once
when switching modes, and copy it when allocating pages.
This doesn't buy us much, but sets up the stage for inheriting more
information related to the mmu setup.
Signed-off-by: Avi Kivity a...@redhat.com
---
From: Alexander Graf ag...@suse.de
This implements the VMLOAD and VMSAVE instructions, that usually surround
the VMRUN instructions. Both instructions load / restore the same elements,
so we only need to implement them once.
v2 fixes CPL checking and replaces memcpy by assignments
v3 makes use
From: Alexander Graf ag...@suse.de
Normally setting the SVME bit in EFER is not allowed, as we did
not support SVM. Not since we do, we should also allow enabling
SVM mode.
v2 comes as last patch, so we don't enable half-ready code
v4 introduces a module option to enable SVM
v6 warns that
From: Jan Kiszka jan.kis...@siemens.com
VMX differentiates between processor and software generated exceptions
when injecting them into the guest. Extend vmx_queue_exception
accordingly (and refactor related constants) so that we can use this
service reliably for the new guest debugging
Signed-off-by: Jan Kiszka jan.kis...@siemens.com
diff --git a/qemu/hw/device-assignment.c b/qemu/hw/device-assignment.c
index b7cbcec..7c73210 100644
--- a/qemu/hw/device-assignment.c
+++ b/qemu/hw/device-assignment.c
@@ -611,7 +611,6 @@ struct PCIDevice *init_assigned_device(AssignedDevInfo
On Thu, Feb 26, 2009 at 7:57 AM, Piavlo pia...@cs.bgu.ac.il wrote:
What is still unclear to me is that's the actual difference between PV
drivers implementation in paravirtual
linux guest and PV dirvers in HVM linux guest? AFAIK in xen guest the PV
front-end drivers are quite simple, and in
Matt T. Yourst noted that we're currently having a dumb
race for no reason in paravirtual wall clock. This is due
to the use of a static variable to hold the counting.
This can race with multiple guests reading wallclock
at the same time, since the static variable value would
then be accessible
On Thursday 26 February 2009, Glauber Costa wrote:
@@ -548,15 +548,13 @@ static int do_set_msr(struct kvm_vcpu *vcpu, unsigned
index, u64 *data)
static void kvm_write_wall_clock(struct kvm *kvm, gpa_t wall_clock)
{
- static int version;
+ int version = 1;
struct
Can someone with HW test this please?
-
kvm_assigned_dev_ack_irq is vulnerable to a race condition with the
interrupt handler function. It does:
if (dev-host_irq_disabled) {
enable_irq(dev-host_irq);
dev-host_irq_disabled = false;
}
If an
Hi Sheng,
So for guest INTX interrupts the host interrupt is reenabled on ack from
the guest, which is nice. Now for guest MSI interrupts it keeps reenabling
the interrupt as fast as the work handler can run.
Can you explain why it works this way? Why not disable interrupts
on the host in all
* Han, Weidong (weidong@intel.com) wrote:
Chris Wright wrote:
This adds a remove_id sysfs entry to allow users of new_id to later
remove the added dynid. One use case is management tools that want to
dynamically bind/unbind devices to pci-stub driver while devices are
assigned to KVM
Hi,
I just downloaded built and installed kvm-84 on ubuntu Hardy x64 2.6.24-23-
server and I’m getting the following 2 problems that did not exists in kvm-83.
1. The qemu emulater (bios screen) takes a long time to start (~10
seconds), and subsequently Libvirt times out when I try to
On Thu, Feb 26, 2009 at 08:50:26PM +0100, Arnd Bergmann wrote:
On Thursday 26 February 2009, Glauber Costa wrote:
@@ -548,15 +548,13 @@ static int do_set_msr(struct kvm_vcpu *vcpu, unsigned
index, u64 *data)
static void kvm_write_wall_clock(struct kvm *kvm, gpa_t wall_clock)
{
-
On Friday 27 February 2009, Glauber Costa wrote:
Doesn't this mean that kvm_write_guest now writes an uninitialized value
to the guest?
No. If you look closely, it's now initialized to 1.
Right, I didn't see that change at first.
Arnd
--
To unsubscribe from this list: send the
freisei wrote:
Hi List!
i want to passthrough my isdn-card in a kvm-vm.
qemu-system-x86_64 -vnc :3 -m 2048 -name $vmname -hda
/dev/vg0/xp8asterisk -boot n -net nic,macaddr=52:54:00:58:08:03 -net
tap,script=/etc/qemu-ifup -usbdevice tablet -k de -smp 2 -monitor
stdio -pcidevice
On Friday 27 February 2009 07:50:54 Marcelo Tosatti wrote:
Can someone with HW test this please?
Good catch! The patch works fine on my side.
Can it be a per-device lock? One big lock for all assigned device seems
restrict scalability.
-
kvm_assigned_dev_ack_irq is vulnerable to a
On Friday 27 February 2009 07:59:27 Marcelo Tosatti wrote:
Hi Sheng,
So for guest INTX interrupts the host interrupt is reenabled on ack from
the guest, which is nice. Now for guest MSI interrupts it keeps reenabling
the interrupt as fast as the work handler can run.
Can you explain why it
1. deliver_bitmask is a bitmap rather than a unsigned long intereger.
2. Lowest priority target bitmap wrong calculated by mistake.
3. Prevent potential NULL reference.
Signed-off-by: Sheng Yang sh...@linux.intel.com
---
virt/kvm/irq_comm.c |6 +-
1 files changed, 5 insertions(+), 1
I just downloaded built and installed kvm-84 on ubuntu Hardy x64
2.6.24-23- server and I’m getting the following 2 problems that did not
exists in kvm-83.
1.The qemu emulater (bios screen) takes a long time to start (~10
seconds), and subsequently Libvirt times out when I try to
On Thu, Feb 26, 2009 at 10:50:35AM +0800, Yu Zhao wrote:
...
Yu,
Can you please add something to Documentation/PCI/pci.txt?
New API I'm seeing are:
+extern int pci_enable_ats(struct pci_dev *dev, int ps);
+extern void pci_disable_ats(struct pci_dev *dev);
+extern int
MPIC and OpenPIC have very similar design.
So a lot of code can be reused.
Modification mainly include:
1. keep struct openpic_t to the maximum size of both MPIC and OpenPIC.
2. endianess swap.
MPIC has the same endianess as target, so no need to swap for MPIC.
3. using different init
Signed-off-by: Liu Yu yu@freescale.com
---
hw/ppc.c| 60 +++
hw/ppc.h|1 +
target-ppc/cpu.h| 10 +++
target-ppc/translate_init.c |5 ++-
4 files changed, 74 insertions(+), 2
This patch add an emulation of MPC8544DS board.
It can work on All E500 platforms.
Signed-off-by: Liu Yu yu@freescale.com
---
v4:
1. remove checking return value from qemu_malloc.
2. use qemu_free instead of free.
3. use snprintf instead of sprintf.
Makefile.target|2 +-
This patch add the emulation of freescale's pci controller for MPC85xx platform.
Signed-off-by: Liu Yu yu@freescale.com
---
v4:
1. use use pci_config_set_vendor_id and pci_config_set_device_id functions,
and add the ID #defines to hw/pci.h.
Makefile.target |2 +
hw/pci.h |
On Thu, 2009-02-26 at 18:35 +0800, Liu Yu wrote:
mpc8544ds.dts is copied from kerenl.
Non-supported devices has been removed.
Signed-off-by: Liu Yu yu@freescale.com
---
pc-bios/mpc8544ds.dtb | Bin 0 - 12288 bytes
pc-bios/mpc8544ds.dts | 122
82 matches
Mail list logo