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

2009-08-31 Thread Zhang, Xiantao
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

2009-08-31 Thread Zhang, Xiantao
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

2009-08-31 Thread KUWAMURA Shin'ya
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