KUWAMURA Shin''ya
2009-Aug-31 08:21 UTC
[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 <kuwa@jp.fujitsu.com> -- KUWAMURA Shin''ya _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
Zhang, Xiantao
2009-Aug-31 08:53 UTC
[Xen-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 root@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 <kuwa@jp.fujitsu.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@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 +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@jp.fujitsu.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Keir Fraser
2009-Aug-31 10:00 UTC
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.zhang@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 root@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 <kuwa@jp.fujitsu.com> > Signed-off-by: Xiantao Zhang <xiantao.zhang@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 +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@jp.fujitsu.com> >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Zhang, Xiantao
2009-Aug-31 14:39 UTC
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.fraser@eu.citrix.com] Sent: Monday, August 31, 2009 6:01 PM To: Zhang, Xiantao; KUWAMURA Shin''ya; xen-ia64-devel@lists.xensource.com; xen-devel@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.zhang@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 root@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 <kuwa@jp.fujitsu.com> > Signed-off-by: Xiantao Zhang <xiantao.zhang@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 +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@jp.fujitsu.com> >_______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
KUWAMURA Shin''ya
2009-Sep-01 01:11 UTC
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.zhang@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