WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] RE: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freez

To: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>, "xen-ia64-devel@xxxxxxxxxxxxxxxxxxx" <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] RE: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue
From: "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>
Date: Mon, 31 Aug 2009 16:53:36 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc:
Delivery-date: Mon, 31 Aug 2009 01:54:23 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090831.172146.236303965.kuwa@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20090831.172146.236303965.kuwa@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcoqFGsDOg+EOBhBTOKEFYVy+5kTbAAA3ijw
Thread-topic: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue
Kuwamura, 
   Maybe the fix is not enough and it may break VT-d side after you changing it 
back. In addition, mach_apic.h is also needed to create. I attached the whole 
patch, please check! :-)
Xiantao

# HG changeset patch
# User root@xxxxxxxxxxxxxxxxxxxxx
# Date 1251737187 14400
# Node ID dd71c509f3ff13326ddbb8fa39f638022aa814ff
# Parent  e8004f6c254a5778b50babd527e74208981640b9
[IA64] Fix serial console freeze issue

20110:6e83b0ec2d70 is incomplete. irq_to_vector() is still required,
otherwise the serial console freezes without sync_console.

Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
Signed-off-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx>

diff -r e8004f6c254a -r dd71c509f3ff xen/drivers/passthrough/vtd/iommu.c
--- a/xen/drivers/passthrough/vtd/iommu.c       Thu Aug 27 11:25:34 2009 +0100
+++ b/xen/drivers/passthrough/vtd/iommu.c       Mon Aug 31 12:46:27 2009 -0400
@@ -892,7 +892,11 @@ static int iommu_set_interrupt(struct io
 
     irq_desc[irq].handler = &dma_msi_type;
     irq_to_iommu[irq] = iommu;
+#ifdef CONFIG_X86 
     ret = request_irq(irq, iommu_page_fault, 0, "dmar", iommu);
+#else
+    ret = request_irq_vector(irq, iommu_page_fault, 0, "dmar", iommu);
+#endif
     if ( ret )
     {
         irq_desc[irq].handler = &no_irq_type;
diff -r e8004f6c254a -r dd71c509f3ff xen/include/asm-ia64/mach_apic.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/include/asm-ia64/mach_apic.h  Mon Aug 31 12:46:27 2009 -0400
@@ -0,0 +1,1 @@
+/* Leave it as blank for compilation. */
diff -r e8004f6c254a -r dd71c509f3ff xen/include/xen/irq.h
--- a/xen/include/xen/irq.h     Thu Aug 27 11:25:34 2009 +0100
+++ b/xen/include/xen/irq.h     Mon Aug 31 12:46:27 2009 -0400
@@ -82,14 +82,17 @@ extern irq_desc_t irq_desc[NR_VECTORS];
 extern irq_desc_t irq_desc[NR_VECTORS];
 
 #define setup_irq(irq, action) \
-    setup_irq_vector(irq, action)
+    setup_irq_vector(irq_to_vector(irq), action)
 
 #define release_irq(irq) \
-    release_irq_vector(irq)
+    release_irq_vector(irq_to_vector(irq))
 
 #define request_irq(irq, handler, irqflags, devname, devid) \
-    request_irq_vector(irq, handler, irqflags, devname, devid)
+    request_irq_vector(irq_to_vector(irq), handler, irqflags, devname, devid)
 
+static inline unsigned int irq_to_vector(int);
+extern int setup_irq_vector(unsigned int, struct irqaction *);
+extern void release_irq_vector(unsigned int);
 extern int request_irq_vector(unsigned int vector,
                void (*handler)(int, void *, struct cpu_user_regs *),
                unsigned long irqflags, const char * devname, void *dev_id);


KUWAMURA Shin'ya wrote:
> Hi,
> 
> 20110:6e83b0ec2d70 is incomplete. irq_to_vector() is still required,
> otherwise the serial console freezes without sync_console.
> 
> I confirmed that dom0 booted up without sync_console.
> 
> Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>

Attachment: fix_ia64.patch
Description: fix_ia64.patch

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