summaryrefslogtreecommitdiff
path: root/sys/dev/microcode
diff options
context:
space:
mode:
authorbouyer <bouyer@NetBSD.org>2000-10-19 07:20:16 +0000
committerbouyer <bouyer@NetBSD.org>2000-10-19 07:20:16 +0000
commit67618a69ae353e90edd91168a5a9f8dd8658381e (patch)
tree78b430d2ba567267b016e78cfa97c5b81011d2af /sys/dev/microcode
parentf8c9315cac9cfab2c7b48aef79566b1a1b6500dc (diff)
Move restore_scntl3 before the lun switch, to ease freeing of unused lun
slots.
Diffstat (limited to 'sys/dev/microcode')
-rw-r--r--sys/dev/microcode/siop/siop.ss12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/microcode/siop/siop.ss b/sys/dev/microcode/siop/siop.ss
index abf21060d21..bbc089b2135 100644
--- a/sys/dev/microcode/siop/siop.ss
+++ b/sys/dev/microcode/siop/siop.ss
@@ -1,4 +1,4 @@
-; $NetBSD: siop.ss,v 1.10 2000/10/18 17:01:13 bouyer Exp $
+; $NetBSD: siop.ss,v 1.11 2000/10/19 07:20:16 bouyer Exp $
;
; Copyright (c) 2000 Manuel Bouyer.
@@ -85,6 +85,7 @@ EXTERN abs_targ0;
EXTERN abs_msgin;
; lun switch symbols
+ENTRY lun_switch_entry;
ENTRY resel_lun0;
ENTRY restore_scntl3;
EXTERN abs_lun0;
@@ -341,6 +342,11 @@ PROC endslot_script:
; hack: we first to a call to the target-specific code, so that a return
; in the main switch will jump to the lun switch.
PROC lun_switch:
+restore_scntl3:
+ MOVE 0xff TO SCNTL3;
+ MOVE 0xff TO SXFER;
+ JUMP abs_lunsw_return;
+lun_switch_entry:
CALL REL(restore_scntl3);
MOVE SCRATCHA1 TO SFBR;
resel_lun0:
@@ -353,10 +359,6 @@ resel_lun0:
JUMP abs_lun0, IF 0x06;
JUMP abs_lun0, IF 0x07;
INT int_resellun;
-restore_scntl3:
- MOVE 0xff TO SCNTL3;
- MOVE 0xff TO SXFER;
- JUMP abs_lunsw_return;
;; script used to load the DSA after a reselect.