From: CBellman@corp.adaptec.com Date: 26 Sep 97 19:17:00 PDT Subject: Item #425: Core Errata: fix show-lun method P1275 Openboot Working Group Proposal -- Proposal #:425 Ver 1.0 Title: Normative fix of the informative "show-lun" method Author: Chris Bellman Date: September 26, 1997 Ed/Tech: Technical Synopsis: Fix implementation of "show-lun" in Core Annex E6.3 Doc & Version: Core Errata to IEEE 1275-1994 Problem: There are currently two (2) problems: 1) The current implementation of the "show-lun" method neglects to take into account a returned Qualifier value of 1h. This results in the misleading display of disconnected Logical Units, as shown in the example below: /pci/scsi@3 Target 3 Unit 0 Disk MAXSTRATG5SC 0221 Unit 1 Device type 20 MAXSTRATG5SC 0221 Unit 2 Device type 20 MAXSTRATG5SC 0221 Unit 3 Device type 20 MAXSTRATG5SC 0221 Unit 4 Device type 20 MAXSTRATG5SC 0221 Unit 5 Device type 20 MAXSTRATG5SC 0221 Unit 6 Device type 20 MAXSTRATG5SC 0221 Unit 7 Device type 20 MAXSTRATG5SC 0221 2) What seems like an attempt to print the Qualifier value is actually an attempt to print the SCSI-1 Device Modifier value, which is usually 00h and no longer supported. Proposal: 1) Change the line which tests for both a Qualifier of 3h and a Device Type of 1Fh so that it's behavior is identical for all non-zero Qualifier values (Vendor-specific values excepted)... Replace: 0 inq@ h# 7f = if drop exit then ( unit ) With: 0 inq@ h# 60 and if drop exit then ( unit ) 2) Remove the line which attempts to display a Qualifier value... Remove: 1 inq@ h# 7f and ?dup if ." Qualifier " .h then ------------------------------------------------------------------- : show-lun ( unit target -- ) over swap set-address ( unit ) inquiry if drop exit then ( unit ) 0 inq@ h# 60 and if drop exit then ( unit ) ." Unit " . ." " ( ) 1 inq@ h# 80 and if ." Removable " then ( ) 0 inq@ case ( ) h# 0 of ." Disk " endof h# 1 of ." Tape " endof h# 2 of ." Printer " endof h# 3 of ." Processor " endof h# 4 of ." WORM " endof h# 5 of ." CD-ROM " endof h# 6 of ." Scanner " endof h# 7 of ." Optical Memory " endof h# 8 of ." Medium Changer " endof h# 9 of ." Communications device " endof h# A of ." Pre-Press device " endof h# B of ." Pre-Press device " endof h# C of ." Controller " endof ( default ) ." Device type " dup .h endcase ( ) 4 spaces 3 inq@ 0f and 2 = if .scsi2-inquiry else .scsi1-inquiry then cr ; [ P1275 Item #425 -- Received: Fri Sep 26 19:24:05 PDT 1997 ]