diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-08-18 00:07:40 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-08-20 23:40:00 -0700 |
commit | 195f7fd0a7e2b3179d52aa8ed6de3637203946c6 (patch) | |
tree | 7737c243489bed4bd23db45f3ced089ebf24a8ce /include/asm-sparc64/percpu.h | |
parent | 848c4dd5153c7a0de55470ce99a8e13a63b4703f (diff) | |
download | blackbird-op-linux-195f7fd0a7e2b3179d52aa8ed6de3637203946c6.tar.gz blackbird-op-linux-195f7fd0a7e2b3179d52aa8ed6de3637203946c6.zip |
[SPARC64]: Need to clobber global reg vars in switch_to().
Otherwise the compiler can't see the things like the
per-cpu area base register are changing.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64/percpu.h')
-rw-r--r-- | include/asm-sparc64/percpu.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-sparc64/percpu.h b/include/asm-sparc64/percpu.h index caf8750792ff..a1f53a4da405 100644 --- a/include/asm-sparc64/percpu.h +++ b/include/asm-sparc64/percpu.h @@ -3,6 +3,8 @@ #include <linux/compiler.h> +register unsigned long __local_per_cpu_offset asm("g5"); + #ifdef CONFIG_SMP #define setup_per_cpu_areas() do { } while (0) @@ -23,8 +25,6 @@ extern unsigned long __per_cpu_shift; __typeof__(type) per_cpu__##name \ ____cacheline_aligned_in_smp -register unsigned long __local_per_cpu_offset asm("g5"); - /* var is in discarded region: offset to particular copy we want */ #define per_cpu(var, cpu) (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset(cpu))) #define __get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __local_per_cpu_offset)) |