From: Hiroshi S. <h-s...@ct...> - 2008-09-04 18:29:59
|
Rui Sousa wrote: > On Thursday 4 September 2008 19:14, Hiroshi Shimamoto wrote: >> Ingo Molnar wrote: >>> * Rui Sousa <rui...@gm...> wrote: >>>> Hi, >>>> >>>> This patch fixes compilation if CONFIG_TRACE_IRQFLAGS_SUPPORT is ever >>>> disabled (which is currently not allowed by Kconfig). Alternatively we >>>> could just remove the option altogether and the associated code paths. >>>> Since the compilation error has been in the tree for at least two >>>> years and no one noticed it, I guess we don't really have the need for >>>> CONFIG_TRACE_IRQFLAGS_SUPPORT=n. Boot tested on x86 UP. >>> applied to tip/core/locking - thanks Rui. >>> >>> since you fixed it i prefer the fix over the removal. We could still >>> remove the !TRACE_IRQFLAGS_SUPPORT now (in a separate commit) and >>> simpify this header a bit that way. Thus if someone needs the >>> !TRACE_IRQFLAGS_SUPPORT mode of build for future work, it can be >>> restored via a simple revert. >> Hi, it seems that this patch breaks uml build. > > Hi Hiroshi, > >> kernel/printk.c: In function 'vprintk': >> kernel/printk.c:674: error: implicit declaration of function >> 'raw_local_irq_save' kernel/printk.c:772: error: implicit declaration of >> function 'raw_local_irq_restore' > > With the patch bellow it compiles (make ARCH=um with a x86 host), but I'm > really out of my league on this one... Hi Rui, with this patch, build and boot (on my x86_64 box) looks ok. I CC-ed to uml people to check this. thanks, Hiroshi Shimamoto > >> thanks, >> Hiroshi Shimamoto > > Thanks, > Rui > > --- > diff --git a/include/asm-um/system-generic.h b/include/asm-um/system-generic.h > index 5bcfa35..f1ea4da 100644 > --- a/include/asm-um/system-generic.h > +++ b/include/asm-um/system-generic.h > @@ -4,15 +4,15 @@ > #include "asm/arch/system.h" > > #undef switch_to > -#undef local_irq_save > -#undef local_irq_restore > -#undef local_irq_disable > -#undef local_irq_enable > -#undef local_save_flags > -#undef local_irq_restore > -#undef local_irq_enable > -#undef local_irq_disable > -#undef local_irq_save > +#undef raw_local_irq_save > +#undef raw_local_irq_restore > +#undef raw_local_irq_disable > +#undef raw_local_irq_enable > +#undef raw_local_save_flags > +#undef raw_local_irq_restore > +#undef raw_local_irq_enable > +#undef raw_local_irq_disable > +#undef raw_local_irq_save > #undef irqs_disabled > > extern void *switch_to(void *prev, void *next, void *last); > @@ -23,21 +23,21 @@ extern int get_signals(void); > extern void block_signals(void); > extern void unblock_signals(void); > > -#define local_save_flags(flags) do { typecheck(unsigned long, flags); \ > +#define raw_local_save_flags(flags) do { typecheck(unsigned long, flags); \ > (flags) = get_signals(); } while(0) > -#define local_irq_restore(flags) do { typecheck(unsigned long, flags); \ > +#define raw_local_irq_restore(flags) do { typecheck(unsigned long, flags); \ > set_signals(flags); } while(0) > > -#define local_irq_save(flags) do { local_save_flags(flags); \ > - local_irq_disable(); } while(0) > +#define raw_local_irq_save(flags) do { raw_local_save_flags(flags); \ > + raw_local_irq_disable(); } while(0) > > -#define local_irq_enable() unblock_signals() > -#define local_irq_disable() block_signals() > +#define raw_local_irq_enable() unblock_signals() > +#define raw_local_irq_disable() block_signals() > > #define irqs_disabled() \ > ({ \ > unsigned long flags; \ > - local_save_flags(flags); \ > + raw_local_save_flags(flags); \ > (flags == 0); \ > }) > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to maj...@vg... > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > |