summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2002-08-03 19:07:54 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2002-08-03 19:07:54 +0000
commitdff91c4420c3137d2f45a474a32650d1b3362828 (patch)
treef1ccd9106bc98b4bdf33c331ceabba45d6d8111b
parent26f333c082adfbf83cd29e3ad32bb2660ad4774a (diff)
opt {set,rem}runqueue a littlebit
-rw-r--r--sys/arch/hppa/hppa/locore.S17
1 files changed, 7 insertions, 10 deletions
diff --git a/sys/arch/hppa/hppa/locore.S b/sys/arch/hppa/hppa/locore.S
index 1ac4b171d5c..b5b8e22d719 100644
--- a/sys/arch/hppa/hppa/locore.S
+++ b/sys/arch/hppa/hppa/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.74 2002/08/03 19:04:24 mickey Exp $ */
+/* $OpenBSD: locore.S,v 1.75 2002/08/03 19:07:53 mickey Exp $ */
/*
* Copyright (c) 1998-2002 Michael Shalayeff
@@ -2375,7 +2375,6 @@ $setrunqueue_ok
ldw R%whichqs(t2), t3
mtctl t1, sar
vdepi 1, 1, t3
- stw t3, R%whichqs(t2)
#if 0
/* this actually trashes all the regs we use, be advised ;) */
@@ -2394,8 +2393,9 @@ $setrunqueue_ok
stw t4, P_FORW(arg0)
stw arg0, P_BACK(t4)
stw arg0, P_FORW(t2)
- bv 0(rp)
stw t2, P_BACK(arg0)
+ bv 0(rp)
+ stw t3, R%whichqs(t2)
Lsrqfmt
.asciz "setrunqueue: bit=%x, qs=%p\n"
.align 8
@@ -2408,9 +2408,9 @@ EXIT(setrunqueue)
.align 32
ENTRY(remrunqueue,0)
ldb P_PRIORITY(arg0), t2
- extru t2, 29, 5, t1
- mtsar t1
+ extru t2, 29, 5, arg2
ldil L%whichqs, t2
+ mtsar arg2
ldw R%whichqs(t2), t3
#ifdef DIAGNOSTIC
@@ -2418,7 +2418,6 @@ ENTRY(remrunqueue,0)
Lremrunqueue_panic
copy arg0, arg1
- copy t1, arg2
ldil L%panic, r1
ldil L%Lrrqpstr, arg0
ldo R%panic(r1), r1
@@ -2426,6 +2425,7 @@ Lremrunqueue_panic
.call
blr %r0, rp
bv,n %r0(r1)
+ nop
Lrrqpstr
.asciz "remrunqueue(%p), bit=%x"
@@ -2437,12 +2437,9 @@ remrunqueue_ok
ldw P_FORW(arg0), arg0
stw arg0, P_FORW(t4)
stw t4, P_BACK(arg0)
- comb,<> t4, arg0, Lqnempty
- nop
-
vdepi 0, 1, t3
+ sub,<> t4, arg0, r0
stw t3, R%whichqs(t2)
-Lqnempty
bv 0(rp)
nop
EXIT(remrunqueue)