[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |