[Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue
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 k...@jp.fujitsu.com -- KUWAMURA Shin'ya # HG changeset patch # User KUWAMURA Shin'ya k...@jp.fujitsu.com # Date 1251706346 -32400 # Node ID 014b085c7e0945ceb0adb4ad7a41412b23ef1d62 # 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 k...@jp.fujitsu.com diff -r e8004f6c254a -r 014b085c7e09 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 17:12:26 2009 +0900 @@ -82,14 +82,17 @@ 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); ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
RE: [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 r...@localhost.localdomain # 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 k...@jp.fujitsu.com Signed-off-by: Xiantao Zhang xiantao.zh...@intel.com 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 + +++ 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 k...@jp.fujitsu.com fix_ia64.patch Description: fix_ia64.patch ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
RE: [Xen-devel] RE: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue
Kuwamura, I think it is necessary to apply the delta patch, what's your opinion ? Xiantoa -Original Message- From: Keir Fraser [mailto:keir.fra...@eu.citrix.com] Sent: Monday, August 31, 2009 6:01 PM To: Zhang, Xiantao; KUWAMURA Shin'ya; xen-ia64-devel@lists.xensource.com; xen-de...@lists.xensource.com Subject: Re: [Xen-devel] RE: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue I already applied Kuwamura's original patch as xen-unstable:20139. Let me know if you both agree that a delta is needed on top of that. Thanks, Keir On 31/08/2009 09:53, Zhang, Xiantao xiantao.zh...@intel.com wrote: 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 r...@localhost.localdomain # 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 k...@jp.fujitsu.com Signed-off-by: Xiantao Zhang xiantao.zh...@intel.com 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 + +++ 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 k...@jp.fujitsu.com ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
Re: [Xen-devel] RE: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue
Hi, On Mon, 31 Aug 2009 22:39:10 +0800 xiantao.zh...@intel.com(Zhang, Xiantao) said: Kuwamura, I think it is necessary to apply the delta patch, what's your opinion ? I also agree to apply the delta. It is also needed for ia64. Best regards, -- KUWAMURA Shin'ya ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel