diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 10:07:53 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 10:07:53 -0700 |
commit | 5723ff931a94acf0738df42604ee89f852e151b0 (patch) | |
tree | 99be1b14cd5f2b5e987773a9271627b746f84a4b | |
parent | be3bfbba8f7f6c8f32e8444ef895433701a3f801 (diff) | |
parent | 615c9136b385d5225d3ece20aa30b28a90c438d6 (diff) | |
download | linux-5723ff931a94acf0738df42604ee89f852e151b0.tar.bz2 |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
chmc: Mark %ver register inline asm with __volatile__
sparc64: Add missing notify_cpu_starting() call.
sparc32: fix build errors
-rw-r--r-- | arch/sparc/kernel/sun4d_smp.c | 1 | ||||
-rw-r--r-- | arch/sparc/kernel/sun4m_smp.c | 1 | ||||
-rw-r--r-- | arch/sparc64/kernel/chmc.c | 2 | ||||
-rw-r--r-- | arch/sparc64/kernel/smp.c | 4 |
4 files changed, 7 insertions, 1 deletions
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c index ce3d45db94e9..7a6a5e795928 100644 --- a/arch/sparc/kernel/sun4d_smp.c +++ b/arch/sparc/kernel/sun4d_smp.c @@ -20,6 +20,7 @@ #include <linux/swap.h> #include <linux/profile.h> #include <linux/delay.h> +#include <linux/cpu.h> #include <asm/ptrace.h> #include <asm/atomic.h> diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c index 0c564ba9e709..5fc386d08c47 100644 --- a/arch/sparc/kernel/sun4m_smp.c +++ b/arch/sparc/kernel/sun4m_smp.c @@ -17,6 +17,7 @@ #include <linux/swap.h> #include <linux/profile.h> #include <linux/delay.h> +#include <linux/cpu.h> #include <asm/cacheflush.h> #include <asm/tlbflush.h> diff --git a/arch/sparc64/kernel/chmc.c b/arch/sparc64/kernel/chmc.c index 967b04886822..3b9f4d6e14a9 100644 --- a/arch/sparc64/kernel/chmc.c +++ b/arch/sparc64/kernel/chmc.c @@ -831,7 +831,7 @@ static int __init us3mc_init(void) if (!us3mc_platform()) return -ENODEV; - __asm__ ("rdpr %%ver, %0" : "=r" (ver)); + __asm__ __volatile__("rdpr %%ver, %0" : "=r" (ver)); if ((ver >> 32UL) == __JALAPENO_ID || (ver >> 32UL) == __SERRANO_ID) { mc_type = MC_TYPE_JBUS; diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 2be166c544ca..e5627118e613 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c @@ -21,6 +21,7 @@ #include <linux/jiffies.h> #include <linux/profile.h> #include <linux/lmb.h> +#include <linux/cpu.h> #include <asm/head.h> #include <asm/ptrace.h> @@ -115,6 +116,9 @@ void __cpuinit smp_callin(void) atomic_inc(&init_mm.mm_count); current->active_mm = &init_mm; + /* inform the notifiers about the new cpu */ + notify_cpu_starting(cpuid); + while (!cpu_isset(cpuid, smp_commenced_mask)) rmb(); |