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

[Xen-ia64-devel] [patch 4/4] fix debug=y build: fix refs to in_irq

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch 4/4] fix debug=y build: fix refs to in_irq
From: Aron Griffis <aron@xxxxxx>
Date: Fri, 2 Jun 2006 10:51:46 -0400
Delivery-date: Fri, 02 Jun 2006 07:52:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20060602143144.GA19677@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Mail-followup-to: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.11
I don't actually have a patch for this problem yet, but I'll describe
the problem and maybe somebody will have a quick fix.

In xen/common/page_alloc.c and xen/common/schedule.c, there's a number
of these:

    ASSERT(!in_irq());

This *should* work fine on ia64, but the problem is that the include
trail is mixed up.  On x86, it goes like this:

    #include <xen/irq.h>     --> include/xen/irq.h
    #include <asm/irq.h>     --> include/asm-x86/irq.h
    #include <asm/hardirq.h> --> include/asm-x86/hardirq.h

    and hardirq.h defines in_irq()

On ia64 it goes like this instead:

    #include <xen/irq.h>     --> include/xen/irq.h
    #include <asm/irq.h>     --> include/asm-ia64/linux/asm/irq.h
    #include <asm/hardirq.h> --> include/asm-ia64/linux/asm/hardirq.h

    but in_irq() is defined in a *different* hardirq.h which lives at
    include/asm-ia64/linux-xen/linux/hardirq.h

Any suggestions on the best way to handle this?  If you want to see it
break for yourself, apply the first three patches in this patch bomb,
then "cd xen; make debug=y"

Thanks,
Aron

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