[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Merge



# HG changeset patch
# User Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
# Date 1277743216 -3600
# Node ID 7b00193bd0334606b6f6779c3f14a1667a952fe4
# Parent  83638d735b9710504197c077a44c117d4facd082
# Parent  059a12afce52a213db56bd8e9442d9eeadfdd34c
Merge
---
 xen/common/trace.c            |    3 ++-
 xen/drivers/passthrough/io.c  |    2 +-
 xen/drivers/passthrough/pci.c |    4 +++-
 xen/include/xen/iommu.h       |    1 +
 4 files changed, 7 insertions(+), 3 deletions(-)

diff -r 83638d735b97 -r 7b00193bd033 xen/common/trace.c
--- a/xen/common/trace.c        Mon Jun 28 17:35:10 2010 +0100
+++ b/xen/common/trace.c        Mon Jun 28 17:40:16 2010 +0100
@@ -130,7 +130,8 @@ static int alloc_trace_bufs(void)
         char         *rawbuf;
         struct t_buf *buf;
 
-        if ( (rawbuf = alloc_xenheap_pages(order, 0)) == NULL )
+        if ( (rawbuf = alloc_xenheap_pages(
+                order, MEMF_bits(32 + PAGE_SHIFT))) == NULL )
         {
             printk("Xen trace buffers: memory allocation failed\n");
             opt_tbuf_size = 0;
diff -r 83638d735b97 -r 7b00193bd033 xen/drivers/passthrough/io.c
--- a/xen/drivers/passthrough/io.c      Mon Jun 28 17:35:10 2010 +0100
+++ b/xen/drivers/passthrough/io.c      Mon Jun 28 17:40:16 2010 +0100
@@ -28,7 +28,7 @@
 
 static void hvm_dirq_assist(unsigned long _d);
 
-static int pt_irq_need_timer(uint32_t flags)
+bool_t pt_irq_need_timer(uint32_t flags)
 {
     return !(flags & (HVM_IRQ_DPCI_GUEST_MSI | HVM_IRQ_DPCI_TRANSLATE));
 }
diff -r 83638d735b97 -r 7b00193bd033 xen/drivers/passthrough/pci.c
--- a/xen/drivers/passthrough/pci.c     Mon Jun 28 17:35:10 2010 +0100
+++ b/xen/drivers/passthrough/pci.c     Mon Jun 28 17:40:16 2010 +0100
@@ -260,7 +260,9 @@ static void pci_clean_dpci_irqs(struct d
               i = find_next_bit(hvm_irq_dpci->mapping, d->nr_pirqs, i + 1) )
         {
             pirq_guest_unbind(d, i);
-            kill_timer(&hvm_irq_dpci->hvm_timer[domain_pirq_to_irq(d, i)]);
+
+            if ( pt_irq_need_timer(hvm_irq_dpci->mirq[i].flags) )
+                kill_timer(&hvm_irq_dpci->hvm_timer[domain_pirq_to_irq(d, i)]);
 
             list_for_each_safe ( digl_list, tmp,
                                  &hvm_irq_dpci->mirq[i].digl_list )
diff -r 83638d735b97 -r 7b00193bd033 xen/include/xen/iommu.h
--- a/xen/include/xen/iommu.h   Mon Jun 28 17:35:10 2010 +0100
+++ b/xen/include/xen/iommu.h   Mon Jun 28 17:40:16 2010 +0100
@@ -100,6 +100,7 @@ struct hvm_irq_dpci *domain_get_irq_dpci
 struct hvm_irq_dpci *domain_get_irq_dpci(struct domain *domain);
 int domain_set_irq_dpci(struct domain *domain, struct hvm_irq_dpci *dpci);
 void free_hvm_irq_dpci(struct hvm_irq_dpci *dpci);
+bool_t pt_irq_need_timer(uint32_t flags);
 
 #define PT_IRQ_TIME_OUT MILLISECS(8)
 #define VTDPREFIX "[VT-D]"

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.