Skip to contentSkip to conversation

SGI IA64 UV: fix ia64 build error in the linux-next tree

PATCH Applied Dean Nelson 4 participants 10 messages Feb 9, 2009 – Feb 11, 2009 Linux-next tree

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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 of is_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?)

#2 lore raw
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 of is_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 5b221278d61e3907a5e4104a844b63bc8bb3d43a should 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

#3 lore raw
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 of is_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 5b221278d61e3907a5e4104a844b63bc8bb3d43a should 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

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

#4 lore raw
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 of is_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 5b221278d61e3907a5e4104a844b63bc8bb3d43a should 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.

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

#5 lore raw
In reply to Ingo Molnar
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

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 of asm/uv.h

-Tony

#6 lore raw
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 of asm/uv.h

It always triggers for me as well. I also use generic_defconfig and request the default for any NEW questions.

#7 lore raw
In reply to Luck, Tony
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 of asm/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

Applied
#8 lore raw
In reply to Dean Nelson
Quoted 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 of is_uv_system().

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

#9 lore raw
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