From 06f0e1ceb89f55f2975ea16f73da755a8e0432d5 Mon Sep 17 00:00:00 2001 From: "Justin T. Gibbs" Date: Tue, 7 Mar 1995 09:00:44 +0000 Subject: [PATCH] Be careful to maintain the bits in SBLKCTL that are reserved. --- sys/dev/aic7xxx/aic7xxx.seq | 11 +++++------ sys/gnu/misc/aic7xxx/aic7xxx.seq | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq index df8f1d2bea8d..b73596137d22 100644 --- a/sys/dev/aic7xxx/aic7xxx.seq +++ b/sys/dev/aic7xxx/aic7xxx.seq @@ -21,7 +21,7 @@ # FreeBSD, Twin, Wide, 2 command per target support, tagged queuing and other # optimizations provided by Justin T. Gibbs (gibbs@FreeBSD.org) # -# $Id: aic7xxx.seq,v 1.7 1995/02/03 17:18:44 gibbs Exp $ +# $Id: aic7xxx.seq,v 1.8 1995/02/22 01:37:52 gibbs Exp $ VERSION AIC7XXX_SEQ_VERSION 1.8 @@ -190,7 +190,6 @@ SCBCOUNT = 0x52 # the actual number of SCBs FLAGS = 0x53 # Device configuration flags TWIN_BUS = 0x01 WIDE_BUS = 0x02 -SELECTED_SCB = 0x08 SENSE = 0x10 ACTIVE_MSG = 0x20 IDENTIFY_SEEN = 0x40 @@ -302,10 +301,10 @@ test_a: start_scb: or SCBARRAY+0,NEEDDMA - and SINDEX,0x08,SCBARRAY+1 - and A,WIDE_BUS,FLAGS # Wide bus? - or SINDEX,A - mov SBLKCTL,SINDEX # select channel, bus width + and SINDEX,0xf7,SBLKCTL #Clear the channel select bit + and A,0x08,SCBARRAY+1 #Get new channel bit + or SINDEX,A + mov SBLKCTL,SINDEX # select channel mov SCBARRAY+1 call initialize clr SG_NOLOAD and FLAGS,0x3f # !RESELECTING diff --git a/sys/gnu/misc/aic7xxx/aic7xxx.seq b/sys/gnu/misc/aic7xxx/aic7xxx.seq index df8f1d2bea8d..b73596137d22 100644 --- a/sys/gnu/misc/aic7xxx/aic7xxx.seq +++ b/sys/gnu/misc/aic7xxx/aic7xxx.seq @@ -21,7 +21,7 @@ # FreeBSD, Twin, Wide, 2 command per target support, tagged queuing and other # optimizations provided by Justin T. Gibbs (gibbs@FreeBSD.org) # -# $Id: aic7xxx.seq,v 1.7 1995/02/03 17:18:44 gibbs Exp $ +# $Id: aic7xxx.seq,v 1.8 1995/02/22 01:37:52 gibbs Exp $ VERSION AIC7XXX_SEQ_VERSION 1.8 @@ -190,7 +190,6 @@ SCBCOUNT = 0x52 # the actual number of SCBs FLAGS = 0x53 # Device configuration flags TWIN_BUS = 0x01 WIDE_BUS = 0x02 -SELECTED_SCB = 0x08 SENSE = 0x10 ACTIVE_MSG = 0x20 IDENTIFY_SEEN = 0x40 @@ -302,10 +301,10 @@ test_a: start_scb: or SCBARRAY+0,NEEDDMA - and SINDEX,0x08,SCBARRAY+1 - and A,WIDE_BUS,FLAGS # Wide bus? - or SINDEX,A - mov SBLKCTL,SINDEX # select channel, bus width + and SINDEX,0xf7,SBLKCTL #Clear the channel select bit + and A,0x08,SCBARRAY+1 #Get new channel bit + or SINDEX,A + mov SBLKCTL,SINDEX # select channel mov SCBARRAY+1 call initialize clr SG_NOLOAD and FLAGS,0x3f # !RESELECTING