summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/mips64/mips64/context.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/arch/mips64/mips64/context.S b/sys/arch/mips64/mips64/context.S
index b0e42c7557b..5d6d0fb28fa 100644
--- a/sys/arch/mips64/mips64/context.S
+++ b/sys/arch/mips64/mips64/context.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: context.S,v 1.6 2004/09/10 09:32:13 pefo Exp $ */
+/* $OpenBSD: context.S,v 1.7 2004/09/27 17:41:56 pefo Exp $ */
/*
* Copyright (c) 2002-2003 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -154,6 +154,7 @@ END(remrunqueue)
* Idle, this is where we spend time when nothing to do.
*/
LEAF(idle, 0)
+_idle:
PTR_S zero, curproc # set curproc NULL for stats
sw zero, cpl # lower to spl0
@@ -250,7 +251,7 @@ NON_LEAF(cpu_switch, FRAMESZ(CF_SZ), ra)
lw t1, whichqs # look for non-empty queue
# addu t2, t2, 1
# sw t2, cnt+V_SWTCH
- beq t1, zero, idle # if none, idle
+ beq t1, zero, _idle # if none, idle
nop
sw1:
mfc0 v0, COP_0_STATUS_REG
@@ -260,7 +261,7 @@ sw1:
ITLBNOPFIX
lw t0, whichqs # look for non-empty queue
li t2, -1 # t2 = lowest bit set
- beq t0, zero, idle # if none, idle
+ beq t0, zero, _idle # if none, idle
move t3, t0 # t3 = saved whichqs
1:
addu t2, t2, 1
@@ -311,9 +312,9 @@ sw1:
LA t1, (VM_MIN_KERNEL_ADDRESS)
PTR_SUBU t2, t3, t1
bltz t2, ctx3 # not mapped.
+ PTR_SRL t2, PGSHIFT+1
PTR_L t1, Sysmap
tlbp
- PTR_SRL t2, PGSHIFT+1
PTR_SLL t2, 3
PTR_ADDU t1, t2 # t1 now points at ptes.
mfc0 t0, COP_0_TLB_INDEX