SGI IA64 UV: fix ia64 build error in the linux-next tree
PATCH 1/1 SGI IA64 UV: fix ia64 build error in the linux-next tree
Fix the ia64 build error that occurs in the linux-next tree by introducing an ia64 version of uv.h. Additionally, clean up the usage of is_uv_system().
---
arch/ia64/include/asm/uv/uv.h | 13 +++++++++++++ drivers/misc/sgi-gru/gru.h | 2 -- drivers/misc/sgi-gru/grufile.c | 18 +++--------------- drivers/misc/sgi-xp/xp.h | 22 ++++++++-------------- 4 files changed, 24 insertions(+), 31 deletions(-)
Index: linux/arch/ia64/include/asm/uv/uv.h
=================================--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux/arch/ia64/include/asm/uv/uv.h 2009-02-09 09:18:45.657924900 -0600
@@ -0,0 +1,13 @@
+#ifndef _ASM_IA64_UV_UV_H
+#define _ASM_IA64_UV_UV_H
+
+#include <asm/system.h>
+#include <asm/sn/simulator.h>
+
+static inline int is_uv_system(void)
+{
+ /* temporary support for running on hardware simulator */
+ return IS_MEDUSA() || ia64_platform_is("uv");
+}
+
+#endif /* _ASM_IA64_UV_UV_H */
Index: linux/drivers/misc/sgi-gru/gru.h
=================================--- linux.orig/drivers/misc/sgi-gru/gru.h 2009-02-09 09:18:43.485658003 -0600
+++ linux/drivers/misc/sgi-gru/gru.h 2009-02-09 09:18:45.677927344 -0600
@@ -19,8 +19,6 @@
#ifndef __GRU_H__
#define __GRU_H__
-#include <asm/uv/uv.h>
-
/*
* GRU architectural definitions
*/
Index: linux/drivers/misc/sgi-gru/grufile.c
=================================--- linux.orig/drivers/misc/sgi-gru/grufile.c 2009-02-09 09:18:43.485658003 -0600
+++ linux/drivers/misc/sgi-gru/grufile.c 2009-02-09 09:18:45.697930179 -0600
@@ -36,23 +36,11 @@
#include <linux/interrupt.h>
#include <linux/proc_fs.h>
#include <linux/uaccess.h>
+#include <asm/uv/uv.h>
#include "gru.h"
#include "grulib.h"
#include "grutables.h"
-#if defined CONFIG_X86_64
-#include <asm/genapic.h>
-#include <asm/irq.h>
-#define IS_UV() is_uv_system()
-#elif defined CONFIG_IA64
-#include <asm/system.h>
-#include <asm/sn/simulator.h>
-/* temp support for running on hardware simulator */
-#define IS_UV() IS_MEDUSA() || ia64_platform_is("uv")
-#else
-#define IS_UV() 0
-#endif
-
#include <asm/uv/uv_hub.h>
#include <asm/uv/uv_mmrs.h>
@@ -381,7 +369,7 @@ static int __init gru_init(void)
char id[10];
void *gru_start_vaddr;
- if (!IS_UV())
+ if (!is_uv_system())
return 0;
#if defined CONFIG_IA64
@@ -451,7 +439,7 @@ static void __exit gru_exit(void)
int order = get_order(sizeof(struct gru_state) *
GRU_CHIPLETS_PER_BLADE);
- if (!IS_UV())
+ if (!is_uv_system())
return;
for (i = 0; i < GRU_CHIPLETS_PER_BLADE; i++)
Index: linux/drivers/misc/sgi-xp/xp.h
=================================--- linux.orig/drivers/misc/sgi-xp/xp.h 2009-02-09 09:18:43.489658800 -0600
+++ linux/drivers/misc/sgi-xp/xp.h 2009-02-09 09:19:18.065905314 -0600
@@ -15,21 +15,19 @@
#include <linux/mutex.h>
+#if defined CONFIG_X86_UV || defined CONFIG_IA64_SGI_UV
#include <asm/uv/uv.h>
+#define is_uv() is_uv_system()
+#endif
-#ifdef CONFIG_IA64
+#ifndef is_uv
+#define is_uv() 0
+#endif
+
+#if defined CONFIG_IA64
#include <asm/system.h>
#include <asm/sn/arch.h> /* defines is_shub1() and is_shub2() */
#define is_shub() ia64_platform_is("sn2")
-#ifdef CONFIG_IA64_SGI_UV
-#define is_uv() ia64_platform_is("uv")
-#else
-#define is_uv() 0
-#endif
-#endif
-#ifdef CONFIG_X86_64
-#include <asm/genapic.h>
-#define is_uv() is_uv_system()
#endif
#ifndef is_shub1
@@ -44,10 +42,6 @@
#define is_shub() 0
#endif
-#ifndef is_uv
-#define is_uv() 0
-#endif
-
#ifdef USE_DBUG_ON
#define DBUG_ON(condition) BUG_ON(condition)
#else
Quoted 2 lines · On Mon, 9 Feb 2009 10:25:20 -0600 Dean Nelson <[email protected]> wrote:
Fix the ia64 build error that occurs in the linux-next tree by introducing an ia64 version of
uv.h. Additionally, clean up the usage ofis_uv_system().
Would I be correct in believing that this repairs (and should be folded into)
commit 5b221278d61e3907a5e4104a844b63bc8bb3d43a
Author: Ingo Molnar <[email protected]>
Date: Wed Jan 21 11:30:07 2009 +0100
x86: uv cleanup, build fix #2
?
(it looks like 5b221278d61e3907a5e4104a844b63bc8bb3d43a should be folded into something else, too. What hath we wrought?)
Quoted 13 lines · Andrew Morton
Quoted 2 lines · On Mon, 9 Feb 2009 10:25:20 -0600 Dean Nelson <[email protected]> wrote:
Fix the ia64 build error that occurs in the linux-next tree by introducing an ia64 version of
uv.h. Additionally, clean up the usage ofis_uv_system().Would I be correct in believing that this repairs (and should be folded into)
commit
5b221278d61e3907a5e4104a844b63bc8bb3d43a
Author: Ingo Molnar <[email protected]>
Date: Wed Jan 21 11:30:07 2009 +0100
Quoted 6 lines
x86: uv cleanup, build fix #2
?
(it looks like
5b221278d61e3907a5e4104a844b63bc8bb3d43ashould be folded into something else, too. What hath we wrought?)
Yes, it does fix an issue introduced by:
commit: bdbcdd48883940bbd8d17eb01172d58a261a413a
author: Tejun Heo <[email protected]>
date: Wed, 21 Jan 2009 08:26:06 +0000
x86: uv cleanup
which the commit you mention above attempted to fix.
I'll leave it to you and Ingo to determine whether my patch should be folded into Ingo's or Tejun's patch.
Ingo, I see that you've applied my patch to your tip tree. What are your thoughts on Andrew's question?
Thanks,
Dean
Quoted 29 lines · Dean Nelson
Quoted 13 lines · Andrew Morton
Quoted 2 lines · On Mon, 9 Feb 2009 10:25:20 -0600 Dean Nelson <[email protected]> wrote:
Fix the ia64 build error that occurs in the linux-next tree by introducing an ia64 version of
uv.h. Additionally, clean up the usage ofis_uv_system().Would I be correct in believing that this repairs (and should be folded into)
commit
5b221278d61e3907a5e4104a844b63bc8bb3d43a
Author: Ingo Molnar <[email protected]>
Date: Wed Jan 21 11:30:07 2009 +0100Quoted 6 lines
x86: uv cleanup, build fix #2
?
(it looks like
5b221278d61e3907a5e4104a844b63bc8bb3d43ashould be folded into something else, too. What hath we wrought?)Yes, it does fix an issue introduced by:
commit:
bdbcdd48883940bbd8d17eb01172d58a261a413a
author: Tejun Heo <[email protected]>
date: Wed, 21 Jan 2009 08:26:06 +0000x86: uv cleanup
Quoted 7 lines
which the commit you mention above attempted to fix.
I'll leave it to you and Ingo to determine whether my patch should be folded into Ingo's or Tejun's patch.
Ingo, I see that you've applied my patch to your tip tree. What are your thoughts on Andrew's question?
What question was that? Folding back across that distance is not possible in a Git workflow. I do regular cross-builds - the build bug did not trigger with the ia64 defconfig.
Ingo
Quoted 37 lines · Ingo Molnar
Quoted 34 lines · Dean Nelson
Quoted 13 lines · Andrew Morton
Quoted 2 lines · On Mon, 9 Feb 2009 10:25:20 -0600 Dean Nelson <[email protected]> wrote:
Fix the ia64 build error that occurs in the linux-next tree by introducing an ia64 version of
uv.h. Additionally, clean up the usage ofis_uv_system().Would I be correct in believing that this repairs (and should be folded into)
commit
5b221278d61e3907a5e4104a844b63bc8bb3d43a
Author: Ingo Molnar <[email protected]>
Date: Wed Jan 21 11:30:07 2009 +0100Quoted 6 lines
x86: uv cleanup, build fix #2
?
(it looks like
5b221278d61e3907a5e4104a844b63bc8bb3d43ashould be folded into something else, too. What hath we wrought?)Yes, it does fix an issue introduced by:
commit:
bdbcdd48883940bbd8d17eb01172d58a261a413a
author: Tejun Heo <[email protected]>
date: Wed, 21 Jan 2009 08:26:06 +0000x86: uv cleanup
which the commit you mention above attempted to fix.
I'll leave it to you and Ingo to determine whether my patch should be folded into Ingo's or Tejun's patch.
Quoted 6 lines
Quoted 2 lines
Ingo, I see that you've applied my patch to your tip tree. What are your thoughts on Andrew's question?
What question was that? Folding back across that distance is not possible in a Git workflow. I do regular cross-builds - the build bug did not trigger with the ia64 defconfig.
The question was the one of folding the patch back. And by your response, I see we'll be leaving things as they are.
Thanks,
Dean
Quoted 3 lines
What question was that? Folding back across that distance is not possible in a Git workflow. I do regular cross-builds - the build bug did not trigger with the ia64 defconfig.
I'm confused by this, as it definitely triggered for me. Perhaps my build scripts do things a bit differently. Essentially I do:
$ for c in `ls arch/ia64/configs`
> do
> cp arch/ia64/configs/$i .config
> yes '' | make oldconfig
> make
> doneWhich takes the default answer for any new questions that crop up. This enabled the GRU driver in the case of the generic_defconfig, and so the build failed because of the lack of asm/uv.h
-Tony
Quoted 14 lines · Tony
Quoted 3 lines
What question was that? Folding back across that distance is not possible in a Git workflow. I do regular cross-builds - the build bug did not trigger with the ia64 defconfig.
I'm confused by this, as it definitely triggered for me. Perhaps my build scripts do things a bit differently. Essentially I do:
$ for c in `ls arch/ia64/configs` > do > cp arch/ia64/configs/$i .config > yes '' | make oldconfig > make > done
Quoted 3 lines
Which takes the default answer for any new questions that crop up. This enabled the GRU driver in the case of the
generic_defconfig, and so the build failed because of the lack ofasm/uv.h
It always triggers for me as well. I also use generic_defconfig and request the default for any NEW questions.
Quoted 14 lines · Luck, Tony
Quoted 3 lines
What question was that? Folding back across that distance is not possible in a Git workflow. I do regular cross-builds - the build bug did not trigger with the ia64 defconfig.
I'm confused by this, as it definitely triggered for me. Perhaps my build scripts do things a bit differently. Essentially I do:
$ for c in `ls arch/ia64/configs` > do > cp arch/ia64/configs/$i .config > yes '' | make oldconfig > make > done
Quoted 3 lines
Which takes the default answer for any new questions that crop up. This enabled the GRU driver in the case of the
generic_defconfig, and so the build failed because of the lack ofasm/uv.h
hm, my build scripts do (in essence):
make mrproper
make ARCH=ia64 defconfig
hm, GRU is enabled as a module. I generally build the =y items, i.e. the vmlinux. There's around 20 thousand modules enabled in various defconfigs, that's a _lot_ of time to build.
Ingo
Ingo Molnar
AppliedQuoted 5 lines · Dean Nelson
Fix the ia64 build error that occurs in the linux-next tree by introducing an ia64 version of
uv.h. Additionally, clean up the usage ofis_uv_system().Signed-off-by Dean Nelson <[email protected]>Signed-off-by Jack Steiner <[email protected]>
Applied, thanks Dean!
Tony, since this breakage is an accidental side-effect of the x86 tree (that has to be fixed there), mind if we carry it there?
Ingo
Quoted 2 lines
Tony, since this breakage is an accidental side-effect of the x86 tree (that has to be fixed there), mind if we carry it there?
Ingo,
I don't mind at all.
-Tony