<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel">
    <title>gmane.comp.emulators.kvm.devel</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90975"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90973"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90972"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90971"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90970"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90968"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90966"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90963"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90962"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90961"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90960"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90959"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90958"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90957"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90956"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90955"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90950"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90947"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90945"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90944"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90975">
    <title>Re: [PATCH] vmexit: Update unittests.cfg with list of vmexit subtests</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90975</link>
    <description>&lt;pre&gt;
Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Marcelo Tosatti</dc:creator>
    <dc:date>2012-05-16T21:26:23</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90973">
    <title>Re: [PATCH] kvm-unit-tests - unittests.cfg: Make extra_params specification uniform</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90973</link>
    <description>&lt;pre&gt;
Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Marcelo Tosatti</dc:creator>
    <dc:date>2012-05-16T21:23:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90972">
    <title>Re: [PATCH] KVM: Fix mmu_reload() clash with nested vmx event injection</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90972</link>
    <description>&lt;pre&gt;
Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Marcelo Tosatti</dc:creator>
    <dc:date>2012-05-16T21:12:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90971">
    <title>[QEMU 1.1 PATCH] Expose CPUID leaf 7 only for -cpu host</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90971</link>
    <description>&lt;pre&gt;Description of the bug:

Since QEMU 0.15, the CPUID information on CPUID[EAX=7,ECX=0] is being
returned unfiltered to the guest, directly from the GET_SUPPORTED_CPUID
return value.

The problem is that this makes the resulting CPU feature flags
unpredictable and dependent on the host CPU and kernel version. This
breaks live-migration badly if you try to migrate from a host CPU that
supports some features on that CPUID leaf (running a recent kenrel) to a
kernel or host CPU that doesn't support it.

Migration also is incorrect (the virtual CPU changes under the guest's
feet) if you migrate in the opposite direction (from an old CPU/kernel
to a new CPU/kernel), but with less serious consequences (guests
normally query CPUID information only once on boot).

Fortunately, the bug affects only users using cpudefs with level &amp;gt;= 7.

The right behavior should be to explicitly enable those features on
[cpudef] config sections or on the "-cpu" command-line arguments. Right
now there is no predefined CPU model on QEMU th&lt;/pre&gt;</description>
    <dc:creator>Eduardo Habkost</dc:creator>
    <dc:date>2012-05-16T20:58:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90970">
    <title>Re: VT-d not working for FreeBSD 9.0 guest</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90970</link>
    <description>&lt;pre&gt;
That's how I would have suggested, some of those zeros
in /proc/interrupts should increment if the device is actually
generating interrupts.


You may need to force the link with something like mii-tool.  I don't
really know what utilities you have available on FreeBSD.  Are there any
driver errors or warnings?  Thanks,

Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Alex Williamson</dc:creator>
    <dc:date>2012-05-16T20:52:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90968">
    <title>Re: [PATCH v3] KVM: MMU: Don't use RCU for lockless shadow walking</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90968</link>
    <description>&lt;pre&gt;
Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Marcelo Tosatti</dc:creator>
    <dc:date>2012-05-16T19:08:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90966">
    <title>Re: [PATCH 0/2] Optimize ds/es reload</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90966</link>
    <description>&lt;pre&gt;
Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Marcelo Tosatti</dc:creator>
    <dc:date>2012-05-16T19:04:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90963">
    <title>[PATCH v4 7/8] kvm: Add support for direct MSI injections</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90963</link>
    <description>&lt;pre&gt;If the kernel supports KVM_SIGNAL_MSI, we can avoid the route-based
MSI injection mechanism.

Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 kvm-all.c |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index ff0534b..d222012 100644
--- a/kvm-all.c
+++ b/kvm-all.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -96,6 +96,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct KVMState
     uint32_t *used_gsi_bitmap;
     unsigned int gsi_count;
     QTAILQ_HEAD(msi_hashtab, KVMMSIRoute) msi_hashtab[KVM_MSI_HASHTAB_SIZE];
+    bool direct_msi;
 #endif
 };
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -898,8 +899,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void kvm_init_irq_routing(KVMState *s)
     s-&amp;gt;irq_routes = g_malloc0(sizeof(*s-&amp;gt;irq_routes));
     s-&amp;gt;nr_allocated_irq_routes = 0;
 
-    for (i = 0; i &amp;lt; KVM_MSI_HASHTAB_SIZE; i++) {
-        QTAILQ_INIT(&amp;amp;s-&amp;gt;msi_hashtab[i]);
+    if (!s-&amp;gt;direct_msi) {
+        for (i = 0; i &amp;lt; KVM_MSI_HASHTAB_SIZE; i++) {
+            QTAILQ_INIT(&amp;amp;s-&amp;gt;msi_hashtab[i]);
+        }
     }
 
     kvm_arch_init_irq_routing(s);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1005,7 +1008,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; again:
 
        &lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90962">
    <title>[PATCH v4 6/8] kvm: Update kernel headers</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90962</link>
    <description>&lt;pre&gt;Corresponding kvm.git hash: f2569053e0

Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 linux-headers/linux/kvm.h |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index ee7bd9c..c4426ec 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -449,6 +449,30 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct kvm_ppc_pvinfo {
 __u8  pad[108];
 };
 
+/* for KVM_PPC_GET_SMMU_INFO */
+#define KVM_PPC_PAGE_SIZES_MAX_SZ8
+
+struct kvm_ppc_one_page_size {
+__u32 page_shift;/* Page shift (or 0) */
+__u32 pte_enc;/* Encoding in the HPTE (&amp;gt;&amp;gt;12) */
+};
+
+struct kvm_ppc_one_seg_page_size {
+__u32 page_shift;/* Base page shift of segment (or 0) */
+__u32 slb_enc;/* SLB encoding for BookS */
+struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ];
+};
+
+#define KVM_PPC_PAGE_SIZES_REAL0x00000001
+#define KVM_PPC_1T_SEGMENTS0x00000002
+
+struct kvm_ppc_smmu_info {
+__u64 flags;
+__u32 slb_size;
+__u3&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90961">
    <title>[PATCH v4 8/8] kvm: Enable in-kernel irqchip support by default</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90961</link>
    <description>&lt;pre&gt;As MSI is now fully supported by KVM (/wrt available features in
upstream), we can finally enable the in-kernel irqchip by default.

Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 kvm-all.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index d222012..1913d6a 100644
--- a/kvm-all.c
+++ b/kvm-all.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1099,7 +1099,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int kvm_irqchip_create(KVMState *s)
 
     if (QTAILQ_EMPTY(&amp;amp;list-&amp;gt;head) ||
         !qemu_opt_get_bool(QTAILQ_FIRST(&amp;amp;list-&amp;gt;head),
-                           "kernel_irqchip", false) ||
+                           "kernel_irqchip", true) ||
         !kvm_check_extension(s, KVM_CAP_IRQCHIP)) {
         return 0;
     }
&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:15</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90960">
    <title>[PATCH v4 3/8] kvm: Introduce basic MSI support for in-kernel irqchips</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90960</link>
    <description>&lt;pre&gt;This patch basically adds kvm_irqchip_send_msi, a service for sending
arbitrary MSI messages to KVM's in-kernel irqchip models.

As the original KVM API requires us to establish a static route from a
pseudo GSI to the target MSI message and inject the MSI via toggling
that virtual IRQ, we need to play some tricks to make this interface
transparent. We create those routes on demand and keep them in a hash
table. Succeeding messages can then search for an existing route in the
table first and reuse it whenever possible. If we should run out of
limited GSIs, we simply flush the table and rebuild it as messages are
sent.

This approach is rather simple and could be optimized further. However,
latest kernels contains a more efficient MSI injection interface that
will obsolete the GSI-based dynamic injection.

Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 kvm-all.c |  139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 kvm.h     |    1 +
 2 files changed, 139 insertions(+), 1 deletions(-)
&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90959">
    <title>[PATCH v4 5/8] kvm: x86: Wire up MSI support for in-kernel irqchip</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90959</link>
    <description>&lt;pre&gt;Catch writes to the MSI MMIO region in the KVM APIC and forward them to
the kernel. Provide the kernel support GSI routing, this allows to
enable MSI support also for in-kernel irqchip mode.

Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 hw/kvm/apic.c |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c
index ffe7a52..8ba4079 100644
--- a/hw/kvm/apic.c
+++ b/hw/kvm/apic.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -10,6 +10,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * See the COPYING file in the top-level directory.
  */
 #include "hw/apic_internal.h"
+#include "hw/msi.h"
 #include "kvm.h"
 
 static inline void kvm_apic_set_reg(struct kvm_lapic_state *kapic,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -145,10 +146,39 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void kvm_apic_external_nmi(APICCommonState *s)
     run_on_cpu(s-&amp;gt;cpu_env, do_inject_external_nmi, s);
 }
 
+static uint64_t kvm_apic_mem_read(void *opaque, target_phys_addr_t addr,
+                                  unsigned size)
+{
+    return ~(uint64_t)0;
+}
+
+static void kvm_apic_mem_write(void *opaqu&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90958">
    <title>[PATCH v4 4/8] pc: Enable MSI support at APIC level</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90958</link>
    <description>&lt;pre&gt;Push msi_supported enabling to the APIC implementations where we can
encapsulate the decision more cleanly, hiding the details from the
generic code.

Acked-by: Stefano Stabellini &amp;lt;stefano.stabellini&amp;lt; at &amp;gt;eu.citrix.com&amp;gt;
Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 hw/apic.c     |    3 +++
 hw/pc.c       |    9 ---------
 hw/xen.h      |   10 ----------
 hw/xen_apic.c |    5 +++++
 4 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/hw/apic.c b/hw/apic.c
index 4eeaf88..5fbf01c 100644
--- a/hw/apic.c
+++ b/hw/apic.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -19,6 +19,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "apic_internal.h"
 #include "apic.h"
 #include "ioapic.h"
+#include "msi.h"
 #include "host-utils.h"
 #include "trace.h"
 #include "pc.h"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -862,6 +863,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void apic_init(APICCommonState *s)
 
     s-&amp;gt;timer = qemu_new_timer_ns(vm_clock, apic_timer, s);
     local_apics[s-&amp;gt;idx] = s;
+
+    msi_supported = true;
 }
 
 static void apic_class_init(ObjectClass *klass, void *data)
diff --git a/hw/pc.c b/hw/pc.c
index 4d34a33..6691b18 100644
--- a/hw/&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90957">
    <title>[PATCH v4 2/8] Introduce MSIMessage structure</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90957</link>
    <description>&lt;pre&gt;Will be used for generating and distributing MSI messages, both in
emulation mode and under KVM.

Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 hw/msi.h      |    5 +++++
 qemu-common.h |    1 +
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/hw/msi.h b/hw/msi.h
index 3040bb0..75747ab 100644
--- a/hw/msi.h
+++ b/hw/msi.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,6 +24,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "qemu-common.h"
 #include "pci.h"
 
+struct MSIMessage {
+    uint64_t address;
+    uint32_t data;
+};
+
 extern bool msi_supported;
 
 bool msi_enabled(const PCIDevice *dev);
diff --git a/qemu-common.h b/qemu-common.h
index 50f659a..57fe28f 100644
--- a/qemu-common.h
+++ b/qemu-common.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -248,6 +248,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct PCIEAERLog PCIEAERLog;
 typedef struct PCIEAERErr PCIEAERErr;
 typedef struct PCIEPort PCIEPort;
 typedef struct PCIESlot PCIESlot;
+typedef struct MSIMessage MSIMessage;
 typedef struct SerialState SerialState;
 typedef struct IRQState *qemu_irq;
 typedef struct PCMCIACardState PCMCIACardState;
&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90956">
    <title>[PATCH v4 1/8] kvm: Refactor KVMState::max_gsi to gsi_count</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90956</link>
    <description>&lt;pre&gt;Instead of the bitmap size, store the maximum of GSIs the kernel
support. Move the GSI limit assertion to the API function
kvm_irqchip_add_route and make it stricter.

Signed-off-by: Jan Kiszka &amp;lt;jan.kiszka&amp;lt; at &amp;gt;siemens.com&amp;gt;
---
 kvm-all.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index 9b73ccf..2d82d54 100644
--- a/kvm-all.c
+++ b/kvm-all.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -86,7 +86,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct KVMState
     struct kvm_irq_routing *irq_routes;
     int nr_allocated_irq_routes;
     uint32_t *used_gsi_bitmap;
-    unsigned int max_gsi;
+    unsigned int gsi_count;
 #endif
 };
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -859,8 +859,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int kvm_irqchip_set_irq(KVMState *s, int irq, int level)
 #ifdef KVM_CAP_IRQ_ROUTING
 static void set_gsi(KVMState *s, unsigned int gsi)
 {
-    assert(gsi &amp;lt; s-&amp;gt;max_gsi);
-
     s-&amp;gt;used_gsi_bitmap[gsi / 32] |= 1U &amp;lt;&amp;lt; (gsi % 32);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -875,7 +873,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void kvm_init_irq_routing(KVMState *s)
         /* Round up so we can search ints using ffs */
         gsi_bits = ALIGN(gsi_count, 32&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90955">
    <title>[PATCH v4 0/8] uq/master: MSI support for in-kernel irqchip mode</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90955</link>
    <description>&lt;pre&gt;Only minor change in v4:
 - fixed bisectability issue caused by "pc: Enable MSI support at APIC
   level"
 - renamed kvm_get_pseudo_gsi to kvm_irqchip_get_virq
 - introduce kvm_irqchip_release_virq directly (to avoid renaming in a
   later series)

Jan Kiszka (8):
  kvm: Refactor KVMState::max_gsi to gsi_count
  Introduce MSIMessage structure
  kvm: Introduce basic MSI support for in-kernel irqchips
  pc: Enable MSI support at APIC level
  kvm: x86: Wire up MSI support for in-kernel irqchip
  kvm: Update kernel headers
  kvm: Add support for direct MSI injections
  kvm: Enable in-kernel irqchip support by default

 hw/apic.c                 |    3 +
 hw/kvm/apic.c             |   34 +++++++++-
 hw/msi.h                  |    5 ++
 hw/pc.c                   |    9 ---
 hw/xen.h                  |   10 ---
 hw/xen_apic.c             |    5 ++
 kvm-all.c                 |  165 +++++++++++++++++++++++++++++++++++++++++++--
 kvm.h                     |    1 +
 linux-headers/linux/kvm.h |   38 ++++++++++
 qemu-com&lt;/pre&gt;</description>
    <dc:creator>Jan Kiszka</dc:creator>
    <dc:date>2012-05-16T18:41:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90950">
    <title>Re: [PATCHv4 3/5] kvm: host side for eoi optimization</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90950</link>
    <description>&lt;pre&gt;
During vcpu entry there are two IRRs set 100 and 200. 200 is injected,
but irq window is not requested because 100 can't be injected, During
EOI exit 100 is injected.

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Gleb Natapov</dc:creator>
    <dc:date>2012-05-16T17:21:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90947">
    <title>Re: [PATCH v3 3/8] kvm: Introduce basic MSI support for in-kernel irqchips</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90947</link>
    <description>&lt;pre&gt;
Wishful thinking.


I did not. With no route cache hits, guest will be limited to 100
interrupts per second (and hang waiting on synchronize_rcu during 
that second). Perhaps it is not a bad idea to exit().

Will apply the patch anyway, thanks.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Marcelo Tosatti</dc:creator>
    <dc:date>2012-05-16T17:31:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90945">
    <title>Re: [PATCHv4 3/5] kvm: host side for eoi optimization</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90945</link>
    <description>&lt;pre&gt;When IRR is set while eoi_skip is enabled, eoi_skip should be cleared.
Michael does your patch do that?


--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Gleb Natapov</dc:creator>
    <dc:date>2012-05-16T18:25:20</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90944">
    <title>Re: VT-d not working for FreeBSD 9.0 guest</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90944</link>
    <description>&lt;pre&gt;
This is expected, the driver enabled MSI-X.  If you have an equivalent
of lspci, you should be able to see before that MSI/MSI-X is disabled
and after MSI-X is enabled with 2 vectors.  Do you ever get interrupts
on these lines?


Linux may be enabling MSI instead of MSI-X, that would be Ok.  Check
lspci in the guest to see what Linux thinks it's using.


Right, we fixed how we do MSI-X vector allocation so we can better track
how this driver works.  That allows an 82576 (igb) device to work, but
there might still be a FreeBSD ixgbe driver issue that's not allowing it
to see the link state.  Thanks,

Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Alex Williamson</dc:creator>
    <dc:date>2012-05-16T18:22:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90942">
    <title>Re: [PATCHv4 3/5] kvm: host side for eoi optimization</title>
    <link>http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/90942</link>
    <description>&lt;pre&gt;
interrupt window exiting is always requested if IRR is pending. Except 
if NMI window is requested (which has higher priority).

What am i missing here?

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Marcelo Tosatti</dc:creator>
    <dc:date>2012-05-16T17:23:45</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.emulators.kvm.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.emulators.kvm.devel</link>
  </textinput>
</rdf:RDF>

