summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/trampoline.S
diff options
context:
space:
mode:
authorDavid S. Miller2006-02-08 09:08:23 +0100
committerDavid S. Miller2006-03-20 10:12:00 +0100
commitac29c11d4cd4fa1fac968e99998a956405732f2f (patch)
treecc733e3bd63af7b35a50d11455b7d5b2fc9ff1e9 /arch/sparc64/kernel/trampoline.S
parent[SPARC64]: Verify all trap_per_cpu assembler offsets in trap_init() (diff)
downloadkernel-qcow2-linux-ac29c11d4cd4fa1fac968e99998a956405732f2f.tar.gz
kernel-qcow2-linux-ac29c11d4cd4fa1fac968e99998a956405732f2f.tar.xz
kernel-qcow2-linux-ac29c11d4cd4fa1fac968e99998a956405732f2f.zip
[SPARC64]: Allocate and register the 4 sun4v mondo queues at bootup.
Needs to occur before we enable PSTATE_IE in %pstate. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/trampoline.S')
-rw-r--r--arch/sparc64/kernel/trampoline.S12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/trampoline.S b/arch/sparc64/kernel/trampoline.S
index d9e2af35158d..fbf844f84a49 100644
--- a/arch/sparc64/kernel/trampoline.S
+++ b/arch/sparc64/kernel/trampoline.S
@@ -309,7 +309,17 @@ do_unlock:
call init_irqwork_curcpu
nop
- call init_cur_cpu_trap
+
+ sethi %hi(tlb_type), %g3
+ lduw [%g3 + %lo(tlb_type)], %g2
+ cmp %g2, 3
+ bne,pt %icc, 1f
+ nop
+
+ call sun4v_init_mondo_queues
+ nop
+
+1: call init_cur_cpu_trap
nop
/* Start using proper page size encodings in ctx register. */