All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	user-mode-linux-devel@lists.sourceforge.net,
	Jeff Dike <jdike@addtoit.com>,
	Alexander Viro <viro@ftp.linux.org.uk>,
	linux-kernel@vger.kernel.org, Rui Sousa <rui.p.m.sousa@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [uml-devel] [PATH] Fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is	not set
Date: Fri, 5 Sep 2008 12:57:21 +0200	[thread overview]
Message-ID: <20080905105721.GD17776@elte.hu> (raw)
In-Reply-To: <48C0291D.6060205@ct.jp.nec.com>


* Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> wrote:

> Rui Sousa wrote:
> > On Thursday 4 September 2008 19:14, Hiroshi Shimamoto wrote:
> >> Ingo Molnar wrote:
> >>> * Rui Sousa <rui.p.m.sousa@gmail.com> 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.

i've applied the fix below to tip/core/locking - but would be nice if 
the UML folks had a comment as well.

	Ingo

From 8c56250f48347750c82ab18d98d647dcf99ca674 Mon Sep 17 00:00:00 2001
From: Rui Sousa <rui.p.m.sousa@gmail.com>
Date: Thu, 4 Sep 2008 19:47:53 +0200
Subject: [PATCH] lockdep, UML: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set

Hiroshi Shimamoto reported:

> > !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.
>
> 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...

Reported-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 include/asm-um/system-generic.h |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

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);                   \
 })
 

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@elte.hu>
To: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Cc: Rui Sousa <rui.p.m.sousa@gmail.com>,
	linux-kernel@vger.kernel.org,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	user-mode-linux-devel@lists.sourceforge.net,
	Jeff Dike <jdike@addtoit.com>,
	Alexander Viro <viro@ftp.linux.org.uk>
Subject: Re: [PATH] Fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set
Date: Fri, 5 Sep 2008 12:57:21 +0200	[thread overview]
Message-ID: <20080905105721.GD17776@elte.hu> (raw)
In-Reply-To: <48C0291D.6060205@ct.jp.nec.com>


* Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> wrote:

> Rui Sousa wrote:
> > On Thursday 4 September 2008 19:14, Hiroshi Shimamoto wrote:
> >> Ingo Molnar wrote:
> >>> * Rui Sousa <rui.p.m.sousa@gmail.com> 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.

i've applied the fix below to tip/core/locking - but would be nice if 
the UML folks had a comment as well.

	Ingo

>From 8c56250f48347750c82ab18d98d647dcf99ca674 Mon Sep 17 00:00:00 2001
From: Rui Sousa <rui.p.m.sousa@gmail.com>
Date: Thu, 4 Sep 2008 19:47:53 +0200
Subject: [PATCH] lockdep, UML: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set

Hiroshi Shimamoto reported:

> > !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.
>
> 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...

Reported-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 include/asm-um/system-generic.h |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

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);                   \
 })
 

  reply	other threads:[~2008-09-05 10:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-03 15:53 [PATH] Fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set Rui Sousa
2008-09-04 14:39 ` Ingo Molnar
2008-09-04 17:14   ` Hiroshi Shimamoto
2008-09-04 17:47     ` Rui Sousa
2008-09-04 18:29       ` [uml-devel] " Hiroshi Shimamoto
2008-09-04 18:29         ` Hiroshi Shimamoto
2008-09-05 10:57         ` Ingo Molnar [this message]
2008-09-05 10:57           ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080905105721.GD17776@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=h-shimamoto@ct.jp.nec.com \
    --cc=hpa@zytor.com \
    --cc=jdike@addtoit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rui.p.m.sousa@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=viro@ftp.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.