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-ia64-devel

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

To: "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>, KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>, "xen-ia64-devel@xxxxxxxxxxxxxxxxxxx" <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] RE: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Mon, 31 Aug 2009 11:00:30 +0100
Cc:
Delivery-date: Mon, 31 Aug 2009 03:02:06 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <706158FABBBA044BAD4FE898A02E4BC201C4351536@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcoqFGsDOg+EOBhBTOKEFYVy+5kTbAAA3ijwAAJ+4r8=
Thread-topic: [Xen-devel] RE: [Xen-ia64-devel] [PATCH] [IA64] Fix serial console freeze issue
User-agent: Microsoft-Entourage/12.20.0.090605
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@xxxxxxxxx> 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@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>
> 



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