From: Jan Kiszka
Sent: Tuesday, September 13, 2011 12:58 AM
The threaded IRQ handler for MSI-X has almost nothing in common with the
INTx/MSI handler. Move its code into a dedicated handler.
if it's desired to further go down this cleanup path, there's also no need to
register ack notifier
On Tue, Sep 13, 2011 at 02:57:20PM +0900, Isaku Yamahata wrote:
On Sun, Sep 11, 2011 at 12:05:17PM +0300, Michael S. Tsirkin wrote:
On Sat, Sep 10, 2011 at 02:43:11AM +0900, Isaku Yamahata wrote:
pci/pcie hot plug needs clean up for multifunction hotplug in long term.
Only single function
On Tue, Sep 13, 2011 at 09:52:49AM +0300, Gleb Natapov wrote:
On Tue, Sep 13, 2011 at 02:57:20PM +0900, Isaku Yamahata wrote:
On Sun, Sep 11, 2011 at 12:05:17PM +0300, Michael S. Tsirkin wrote:
On Sat, Sep 10, 2011 at 02:43:11AM +0900, Isaku Yamahata wrote:
pci/pcie hot plug needs clean
On 2011-09-13 08:40, Tian, Kevin wrote:
From: Jan Kiszka
Sent: Tuesday, September 13, 2011 12:58 AM
The threaded IRQ handler for MSI-X has almost nothing in common with the
INTx/MSI handler. Move its code into a dedicated handler.
if it's desired to further go down this cleanup path,
From: Jan Kiszka [mailto:jan.kis...@siemens.com]
Sent: Tuesday, September 13, 2011 3:30 PM
On 2011-09-13 08:40, Tian, Kevin wrote:
From: Jan Kiszka
Sent: Tuesday, September 13, 2011 12:58 AM
The threaded IRQ handler for MSI-X has almost nothing in common with the
INTx/MSI handler.
- merge dst/src/src2 decode
- generalize %seg embedded in opcode decode
plus a fix.
Avi Kivity (14):
KVM: x86 emulator: fix Src2CL decode
KVM: x86 emulator: convert group 3 instructions to direct decode
KVM: x86 emulator: move memop, memopp into emulation context
KVM: x86 emulator: split
Simplifies further generalization of decode.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/include/asm/kvm_emulate.h |2 ++
arch/x86/kvm/emulate.c | 34 +-
2 files changed, 19 insertions(+), 17 deletions(-)
diff --git
Src2CL decode (used for double width shifts) erronously decodes only bit 3
of %rcx, instead of bits 7:0.
Fix by decoding %cl in its entirety.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c | 51 ---
1 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 8c65ff2..88d32fc 100644
--- a/arch/x86/kvm/emulate.c
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c | 44 +++-
1 files changed, 15 insertions(+), 29 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index bd3e488..f1e3be1 100644
--- a/arch/x86/kvm/emulate.c
+++
The opcodes
push %seg
pop %seg
l%seg, %mem, %reg (e.g. lds/les/lss/lfs/lgs)
all have an segment register encoded in the instruction. To allow reuse,
decode the segment number into src2 during the decode stage instead of the
execution stage.
Signed-off-by: Avi Kivity a...@redhat.com
---
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c | 156 +++
1 files changed, 63 insertions(+), 93 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 17a8910..e46809b 100644
--- a/arch/x86/kvm/emulate.c
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c | 22 +++---
1 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index ab48611..bd3e488 100644
--- a/arch/x86/kvm/emulate.c
+++
Op fields are going to grow by a bit, we need two free bits.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 88d32fc..00e0904 100644
---
Use the same technique as the other OpMem variants, and goto mem_common.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c |9 -
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index e46809b..1c95935
Unifiying the operands means not taking advantage of the fact that some
operand types can only go into certain operands (for example, DI can only
be used by the destination), so we need more bits to hold the operand type.
Signed-off-by: Avi Kivity a...@redhat.com
---
Similar to SrcImmUByte.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c |5 +
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 00e0904..a0d6ceb 100644
--- a/arch/x86/kvm/emulate.c
+++
Instead of decoding each operand using its own code, use a generic
function. Start with the destination operand.
Signed-off-by: Avi Kivity a...@redhat.com
---
arch/x86/kvm/emulate.c | 146 ---
1 files changed, 87 insertions(+), 59 deletions(-)
diff
OpReg decoding has a hack that inhibits byte registers for movsx and movzx
instructions. It should be replaced by something better, but meanwhile,
qualify that the hack is only active for the destination operand.
Note these instructions only use OpReg for the destination, but better to
be
Used to be broken in multiple ways.
Signed-off-by: Avi Kivity a...@redhat.com
---
x86/emulator.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/x86/emulator.c b/x86/emulator.c
index d4f0363..73079f8 100644
--- a/x86/emulator.c
+++ b/x86/emulator.c
@@ -642,6
On 08/30/2011 05:34 AM, Xiao Guangrong wrote:
kvm_mmu_pte_write is unsafe since we need to alloc pte_list_desc in the
function when spte is prefetched, unfortunately, we can not know how many
spte need to be prefetched on this path, that means we can use out of the
free pte_list_desc object in
On Tue, Sep 13, 2011 at 09:52:49AM +0300, Gleb Natapov wrote:
On Tue, Sep 13, 2011 at 02:57:20PM +0900, Isaku Yamahata wrote:
On Sun, Sep 11, 2011 at 12:05:17PM +0300, Michael S. Tsirkin wrote:
On Sat, Sep 10, 2011 at 02:43:11AM +0900, Isaku Yamahata wrote:
pci/pcie hot plug needs clean
On Tue, Sep 13, 2011 at 01:05:00PM +0300, Michael S. Tsirkin wrote:
On Tue, Sep 13, 2011 at 09:52:49AM +0300, Gleb Natapov wrote:
On Tue, Sep 13, 2011 at 02:57:20PM +0900, Isaku Yamahata wrote:
On Sun, Sep 11, 2011 at 12:05:17PM +0300, Michael S. Tsirkin wrote:
On Sat, Sep 10, 2011 at
On Wed, Sep 07, 2011 at 02:53:24PM -0400, Ohad Ben-Cohen wrote:
drivers/iommu/amd_iommu.c | 20 ++-
drivers/iommu/intel-iommu.c | 20 ++-
drivers/iommu/iommu.c | 129
+++
drivers/iommu/msm_iommu.c |8 ++-
On 09/13/2011 05:51 PM, Avi Kivity wrote:
On 08/30/2011 05:34 AM, Xiao Guangrong wrote:
kvm_mmu_pte_write is unsafe since we need to alloc pte_list_desc in the
function when spte is prefetched, unfortunately, we can not know how many
spte need to be prefetched on this path, that means we can
On Tue, Sep 13, 2011 at 06:34:23AM -0400, Ohad Ben-Cohen wrote:
Hi Joerg,
On Tue, Sep 13, 2011 at 1:10 PM, Roedel, Joerg joerg.roe...@amd.com wrote:
Please split this patch into the core-change and patches for the
individual iommu-drivers and post this as a seperate patch-set.
But we'll
On 08/30/2011 05:35 AM, Xiao Guangrong wrote:
In current code, the accessed bit is always set when page fault occurred,
do not need to set it on pte write path
What about speculative sptes that are then only accessed via emulation?
--
error compiling committee.c: too many arguments to
On 08/30/2011 05:36 AM, Xiao Guangrong wrote:
Directly Use mmu_page_zap_pte to zap spte in FNAME(invlpg), also remove the
same code between FNAME(invlpg) and FNAME(sync_page)
+static gpa_t FNAME(get_first_pte_gpa)(struct kvm_mmu_page *sp)
spte
+{
+ int offset = 0;
+
+ if
On 08/30/2011 05:38 AM, Xiao Guangrong wrote:
Detecting write-flooding does not work well, when we handle page written, if
the last speculative spte is not accessed, we treat the page is
write-flooding, however, we can speculative spte on many path, such as pte
prefetch, page synced, that means
Hi all,
After reading the pci driver code, I found a problem.
There is a list for each slot, (slot-funcs)
it will be inited in acpiphp_glue.c:register_slot() before hotpluging device,
and only one entry(func 0) will be added to it,
no new entry will be added to the list when hotpluging devices
On Tue, Sep 13, 2011 at 1:44 PM, Roedel, Joerg joerg.roe...@amd.com wrote:
Not necessarily. You could implement this side-by-side with the old code
until all drivers are converted and remove the old code then. This keeps
bisectability.
Ok.
Intel IOMMU does not support arbitrary page-sizes,
Hello!
Qemu-kvm 0.15.0 doesn't build with vnc support disabled. The following
patch fixes the problem:
Signed-off-by: Boris Dolgov bo...@dolgov.name
- monitor.c~ 2011-08-09 12:40:29.0 +
+++ monitor.c 2011-09-13 13:02:40.0 +
@@ -1221,10 +1221,12 @@ static int
When running with HV KVM and CBE config options enabled, I get
build failures like the following:
arch/powerpc/kernel/head_64.o: In function `cbe_system_error_hv':
(.text+0x1228): undefined reference to `do_kvm_0x1202'
arch/powerpc/kernel/head_64.o: In function `cbe_maintenance_hv':
- Original Message -
Hi all,
I've tested with WinXp guest, the multifunction hotplug works.
After reading the pci driver code, I found a problem.
There is a list for each slot, (slot-funcs)
it will be inited in acpiphp_glue.c:register_slot() before hotpluging
device,
and only one
From 7b12021e1d1b79797b49e41cc0a7be05a6180d9a Mon Sep 17 00:00:00 2001
From: Liu, Jinsong jinsong@intel.com
Date: Tue, 13 Sep 2011 21:52:54 +0800
Subject: [PATCH] KVM: emulate lapic tsc deadline timer for guest
This patch emulate lapic tsc deadline timer for guest:
Enumerate tsc deadline
From c1b502d6548fcc41592cd90acc82109ee949df75 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong jinsong@intel.com
Date: Tue, 13 Sep 2011 22:05:30 +0800
Subject: [PATCH] Qemu co-operation with kvm tsc deadline timer
KVM add emulation of lapic tsc deadline timer for guest.
This patch is co-operation
Hi Greg,
On Wed, Sep 07, 2011 at 03:44:45PM -0400, Greg KH wrote:
The IOMMUs are usually devices on the bus itself, so they are
initialized after the bus is set up and the devices on it are
populated. So the function can not be called on bus initialization
because the IOMMU is not
On Tue, Sep 13, 2011 at 04:54:02PM +0200, Roedel, Joerg wrote:
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -22,6 +22,7 @@
#include linux/types.h
#include linux/module.h
#include linux/pm.h
+#include linux/iommu.h
Ick, please don't add new #includes to device.h, it makes
On 2011-09-13 16:38, Liu, Jinsong wrote:
From c1b502d6548fcc41592cd90acc82109ee949df75 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong jinsong@intel.com
Date: Tue, 13 Sep 2011 22:05:30 +0800
Subject: [PATCH] Qemu co-operation with kvm tsc deadline timer
KVM add emulation of lapic tsc
On Tue, Sep 13, 2011 at 10:58:55AM -0400, Greg KH wrote:
On Tue, Sep 13, 2011 at 04:54:02PM +0200, Roedel, Joerg wrote:
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -22,6 +22,7 @@
#include linux/types.h
#include linux/module.h
#include linux/pm.h
+#include
On Tue, Sep 13, 2011 at 10:58:55AM -0400, Greg KH wrote:
On Tue, Sep 13, 2011 at 04:54:02PM +0200, Roedel, Joerg wrote:
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -22,6 +22,7 @@
#include linux/types.h
#include linux/module.h
#include linux/pm.h
+#include
On Tue, Sep 13, 2011 at 05:38:11PM +0200, Roedel, Joerg wrote:
On Tue, Sep 13, 2011 at 10:58:55AM -0400, Greg KH wrote:
On Tue, Sep 13, 2011 at 04:54:02PM +0200, Roedel, Joerg wrote:
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -22,6 +22,7 @@
#include linux/types.h
On Wed, Sep 7, 2011 at 9:48 PM, Hagen Paul Pfeifer ha...@jauu.net wrote:
Signed-off-by: Hagen Paul Pfeifer ha...@jauu.net
Cc: Sasha Levin levinsasha...@gmail.com
Applied, thanks!
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to
On 09/13/2011 06:47 PM, Avi Kivity wrote:
On 08/30/2011 05:35 AM, Xiao Guangrong wrote:
If the emulation is caused by #PF and it is non-page_table writing
instruction,
it means the VM-EXIT is caused by shadow page protected, we can zap the
shadow
page and retry this instruction directly
On 09/13/2011 06:53 PM, Avi Kivity wrote:
On 08/30/2011 05:35 AM, Xiao Guangrong wrote:
In current code, the accessed bit is always set when page fault occurred,
do not need to set it on pte write path
What about speculative sptes that are then only accessed via emulation?
The gfn is read
On 09/13/2011 07:00 PM, Avi Kivity wrote:
On 08/30/2011 05:36 AM, Xiao Guangrong wrote:
Directly Use mmu_page_zap_pte to zap spte in FNAME(invlpg), also remove the
same code between FNAME(invlpg) and FNAME(sync_page)
+static gpa_t FNAME(get_first_pte_gpa)(struct kvm_mmu_page *sp)
spte
On Wed, Sep 07, 2011 at 08:09:37PM +0300, Avi Kivity wrote:
But then the downside
here is we accidentally handle an NMI that was latched. This would cause
a 'Dazed on confused' message as that NMI was already handled by the
previous NMI.
We are working on an algorithm to detect this
So I got around to implementing this and it seems to work great. The back
to back NMIs are detected properly using the %rip and that info is passed to
the NMI notifier. That info is used to determine if only the first
handler to report 'handled' is executed or _all_ the handlers are
On 09/13/2011 07:07 PM, Avi Kivity wrote:
On 08/30/2011 05:38 AM, Xiao Guangrong wrote:
Detecting write-flooding does not work well, when we handle page written, if
the last speculative spte is not accessed, we treat the page is
write-flooding, however, we can speculative spte on many path,
On Tue, Sep 13, 2011 at 09:03:20PM +0200, Andi Kleen wrote:
So I got around to implementing this and it seems to work great. The back
to back NMIs are detected properly using the %rip and that info is passed to
the NMI notifier. That info is used to determine if only the first
handler to
On 09/13/2011 06:50 PM, Avi Kivity wrote:
On 09/13/2011 01:24 PM, Xiao Guangrong wrote:
On 09/13/2011 05:51 PM, Avi Kivity wrote:
On 08/30/2011 05:34 AM, Xiao Guangrong wrote:
kvm_mmu_pte_write is unsafe since we need to alloc pte_list_desc in the
function when spte is prefetched,
When mapping a memory region, split it to page sizes as supported
by the iommu hardware. Always prefer bigger pages, when possible,
in order to reduce the TLB pressure.
The logic to do that is now added to the IOMMU core, so neither the iommu
drivers themselves nor users of the IOMMU API have to
On Tue, Sep 13, 2011 at 09:03:20PM +0200, Andi Kleen wrote:
So I got around to implementing this and it seems to work great. The back
to back NMIs are detected properly using the %rip and that info is passed to
the NMI notifier. That info is used to determine if only the first
handler to
Or are you saying an NMI in an idle system will have the same %rip thus
falsely detecting a back-to-back NMI?
Yup.
Another problem is very long running instructions, like WBINVD and some others.
If there's a high frequency NMI it may well hit multiple times in a single
instance.
-Andi
--
On Fri, 09 Sep 2011, Marcelo Tosatti wrote:
On Thu, Sep 01, 2011 at 02:27:49PM -0600, emun...@mgebm.net wrote:
On Thu, 01 Sep 2011 14:24:12 -0500, Anthony Liguori wrote:
On 08/30/2011 07:26 AM, Marcelo Tosatti wrote:
On Mon, Aug 29, 2011 at 05:27:11PM -0600, Eric B Munson wrote:
On Tue, Sep 13, 2011 at 04:53:18PM -0400, Don Zickus wrote:
On Tue, Sep 13, 2011 at 09:58:38PM +0200, Andi Kleen wrote:
Or are you saying an NMI in an idle system will have the same %rip thus
falsely detecting a back-to-back NMI?
Yup.
Hmm. That sucks. Is there another register
Jan Kiszka wrote:
On 2011-09-13 16:38, Liu, Jinsong wrote:
From c1b502d6548fcc41592cd90acc82109ee949df75 Mon Sep 17 00:00:00
2001
From: Liu, Jinsong jinsong@intel.com
Date: Tue, 13 Sep 2011 22:05:30 +0800
Subject: [PATCH] Qemu co-operation with kvm tsc deadline timer
KVM add
CC: kvm@vger.kernel.org
- Original Message -
'slot-funcs' is initialized in acpiphp_glue.c:register_slot() before
hotpluging device, and only one entry(func 0) is added to it,
no new entry will be added to the list when hotpluging devices to the slot.
When we release the whole device,
When running with HV KVM and CBE config options enabled, I get
build failures like the following:
arch/powerpc/kernel/head_64.o: In function `cbe_system_error_hv':
(.text+0x1228): undefined reference to `do_kvm_0x1202'
arch/powerpc/kernel/head_64.o: In function `cbe_maintenance_hv':
On Fri, 09 Sep 2011, Marcelo Tosatti wrote:
On Thu, Sep 01, 2011 at 02:27:49PM -0600, emun...@mgebm.net wrote:
On Thu, 01 Sep 2011 14:24:12 -0500, Anthony Liguori wrote:
On 08/30/2011 07:26 AM, Marcelo Tosatti wrote:
On Mon, Aug 29, 2011 at 05:27:11PM -0600, Eric B Munson wrote:
60 matches
Mail list logo