aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/include/atomic.h2
-rw-r--r--sys/powerpc/include/cpu.h1
-rw-r--r--sys/powerpc/powerpc/mp_machdep.c6
3 files changed, 7 insertions, 2 deletions
diff --git a/sys/powerpc/include/atomic.h b/sys/powerpc/include/atomic.h
index 1b3c084db196..c8e1e8447cc7 100644
--- a/sys/powerpc/include/atomic.h
+++ b/sys/powerpc/include/atomic.h
@@ -510,7 +510,7 @@ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \
u_##TYPE v; \
\
v = *p; \
- mb(); \
+ powerpc_lwsync(); \
return (v); \
} \
\
diff --git a/sys/powerpc/include/cpu.h b/sys/powerpc/include/cpu.h
index 3573a0a85d20..00f8437c8c49 100644
--- a/sys/powerpc/include/cpu.h
+++ b/sys/powerpc/include/cpu.h
@@ -128,6 +128,7 @@ get_cyclecount(void)
#define cpu_getstack(td) ((td)->td_frame->fixreg[1])
#define cpu_spinwait() __asm __volatile("or 27,27,27") /* yield */
+#define cpu_lock_delay() DELAY(1)
extern char btext[];
extern char etext[];
diff --git a/sys/powerpc/powerpc/mp_machdep.c b/sys/powerpc/powerpc/mp_machdep.c
index a0a97d4af3f2..49e259ad50b9 100644
--- a/sys/powerpc/powerpc/mp_machdep.c
+++ b/sys/powerpc/powerpc/mp_machdep.c
@@ -100,7 +100,11 @@ machdep_ap_bootstrap(void)
/* Serialize console output and AP count increment */
mtx_lock_spin(&ap_boot_mtx);
ap_awake++;
- printf("SMP: AP CPU #%d launched\n", PCPU_GET(cpuid));
+ if (bootverbose)
+ printf("SMP: AP CPU #%d launched\n", PCPU_GET(cpuid));
+ else
+ printf("%s%d%s", ap_awake == 2 ? "Launching APs: " : "",
+ PCPU_GET(cpuid), ap_awake == mp_ncpus ? "\n" : " ");
mtx_unlock_spin(&ap_boot_mtx);
while(smp_started == 0)