Home | History | Annotate | Download | only in boot
History log of /src/sys/arch/next68k/stand/boot/scsi.c
RevisionDateAuthorComments
 1.15  05-Feb-2024  andvar s/bufffer/buffer/ in comments and log message.
 1.14  12-Feb-2023  tsutsui Replace DELAY() with one in hp300 bootloader and adjust cpuspeed counts.

Fix boot failure on my ancient Seagate ST52160N drive.
It looks some of such old drives can't respond to SCSI
test-unit-ready command without proper wait after SCSI bus reset.
Bump version again to denote a fix.

XXX we should re-evaluate cpuspeed counts for DELAY() in bootloaders
(where cache is disabled) on other m68k ports, hp300 and luna68k etc.
 1.13  12-Feb-2023  tsutsui Use common declarations and macros in proper headers.

Also fix inconsistent sdopen() and sdstrategy() args and
remove useless #if 0'ed out code.
No functional change.
 1.12  09-Feb-2023  tsutsui Disable DEBUG options properly.
 1.11  04-Feb-2023  tsutsui Remove trailing spaces and TABs.
 1.10  30-Mar-2008  he branches: 1.10.96; 1.10.122;
Convert from using bcopy() to memcpy(), so that this builds again.
 1.9  05-Mar-2007  he branches: 1.9.40;
Follow Izumi Tsutsui's advice, and use uint8_t* rather than char*.
 1.8  05-Mar-2007  he Need char* for pointer arithmetic and array indexing.
 1.7  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.6  03-May-2003  wiz branches: 1.6.18; 1.6.56;
DMA, not dma nor Dma.
 1.5  21-Sep-2002  mycroft Ignore bus exception errors here.
XXX I'm not sure exactly why this is necessary...
 1.4  11-Jul-2002  christos Apply patches from Christian Limpach:

- NeXT label reading support
- SCSI dma fixes
- media support for if_xe.c

Some of these need more cleanup, but at least make SCSI support usable on
the NeXT.
 1.3  07-May-2002  jdolecek branches: 1.3.2;
some esp register names are no longer provided by next68k espreg.h,
use MI <dev/ic/ncr53c9xreg.h> ones
 1.2  26-Mar-1999  dbj branches: 1.2.22; 1.2.26;
tweaks to compile with egcs -Werror
minor changes to scsi driver register accesses.
 1.1  09-Jun-1998  dbj branches: 1.1.1;
Initial revision
 1.1.1.1  09-Jun-1998  dbj Initial import of NetBSD/next68k.
 1.2.26.3  18-Oct-2002  nathanw Catch up to -current.
 1.2.26.2  01-Aug-2002  nathanw Catch up to -current.
 1.2.26.1  20-Jun-2002  nathanw Catch up to -current.
 1.2.22.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.22.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.22.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.1  16-Jul-2002  gehenna catch up with -current.
 1.6.56.1  12-Mar-2007  rmind Sync with HEAD.
 1.6.18.1  03-Sep-2007  yamt sync with head.
 1.9.40.1  03-Apr-2008  mjf Sync with HEAD.
 1.10.122.2  22-Feb-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #90):

sys/arch/next68k/stand/boot/en.c: revision 1.20
sys/arch/next68k/stand/boot/scsi.c: revision 1.13
sys/arch/next68k/stand/boot/scsi.c: revision 1.14
sys/arch/next68k/stand/boot/conf.c: revision 1.8
sys/arch/next68k/stand/boot/sd.c: revision 1.17
sys/arch/next68k/stand/boot/samachdep.h: revision 1.1
sys/arch/next68k/stand/boot/samachdep.h: revision 1.2
sys/arch/next68k/stand/boot/rtc.c: revision 1.8
sys/arch/next68k/stand/boot/machdep.c: revision 1.9
sys/arch/next68k/stand/boot/boot.c: revision 1.14
sys/arch/next68k/stand/boot/boot.c: revision 1.15
sys/arch/next68k/stand/boot/scsivar.h: revision 1.2
sys/arch/next68k/stand/boot/devopen.c: revision 1.8
sys/arch/next68k/stand/boot/version: revision 1.7

Use common declarations and macros in proper headers.

Also fix inconsistent sdopen() and sdstrategy() args and
remove useless #if 0'ed out code.
No functional change.

Replace DELAY() with one in hp300 bootloader and adjust cpuspeed counts.

Fix boot failure on my ancient Seagate ST52160N drive.
It looks some of such old drives can't respond to SCSI
test-unit-ready command without proper wait after SCSI bus reset.

Bump version again to denote a fix.

XXX we should re-evaluate cpuspeed counts for DELAY() in bootloaders
(where cache is disabled) on other m68k ports, hp300 and luna68k etc.

Actually bump version (missed in the previous commit).
 1.10.122.1  12-Feb-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #78):

sys/arch/next68k/stand/boot/scsi.c: revision 1.11
sys/arch/next68k/stand/boot/sd.c: revision 1.13
sys/arch/next68k/stand/boot/scsi.c: revision 1.12
sys/arch/next68k/stand/boot/sd.c: revision 1.14
sys/arch/next68k/stand/boot/sd.c: revision 1.15
sys/arch/next68k/stand/boot/sd.c: revision 1.16
sys/arch/next68k/stand/boot/rtc.c: revision 1.7
sys/arch/next68k/stand/boot/dmareg.h: revision 1.4
sys/arch/next68k/stand/boot/machdep.c: revision 1.8
sys/arch/next68k/stand/boot/srt0.s: revision 1.3
sys/arch/next68k/stand/boot/README: revision 1.2
sys/arch/next68k/stand/boot/devopen.c: revision 1.7
sys/arch/next68k/stand/boot/Makefile: revision 1.30
sys/arch/next68k/stand/boot/Makefile: revision 1.31
sys/arch/next68k/stand/boot/version: revision 1.5

Remove trailing spaces and TABs.

Make sure to specify volatile explicitly on DMA register accesses.

It looks booting from SCSI disks on next68k have been broken
since NetBSD 1.6 days, but now it works.

Avoid possible division by zero trap in error cases to make debug easier.

Request only 36 bytes for a response of INQUIRY command for legacy drives.
Some drives don't respond larger requested size for newer
SCSI3 devices and not all drivers can handle short xfers.
We should fix drivers to handle such short xfers properly,
but we need only SCSI device type here (and the 36 bytes are
enough even if we want vendor and product names on a bootloader).
The problem is reported from Andreas Grabher (a maintainer of NeXT
Computer Emulator) on port-next68k@:
https://mail-index.netbsd.org/port-next68k/2023/02/thread1.html

Disable DEBUG options properly.

Bump version to 1.6 to denote recent bootloader's >20 years old bug fixes.
 1.10.96.2  22-Feb-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #1600):

sys/arch/next68k/stand/boot/en.c: revision 1.20
sys/arch/next68k/stand/boot/scsi.c: revision 1.13
sys/arch/next68k/stand/boot/scsi.c: revision 1.14
sys/arch/next68k/stand/boot/conf.c: revision 1.8
sys/arch/next68k/stand/boot/sd.c: revision 1.17
sys/arch/next68k/stand/boot/samachdep.h: revision 1.1
sys/arch/next68k/stand/boot/samachdep.h: revision 1.2
sys/arch/next68k/stand/boot/rtc.c: revision 1.8
sys/arch/next68k/stand/boot/machdep.c: revision 1.9
sys/arch/next68k/stand/boot/boot.c: revision 1.14
sys/arch/next68k/stand/boot/boot.c: revision 1.15
sys/arch/next68k/stand/boot/scsivar.h: revision 1.2
sys/arch/next68k/stand/boot/devopen.c: revision 1.8
sys/arch/next68k/stand/boot/version: revision 1.7

Use common declarations and macros in proper headers.

Also fix inconsistent sdopen() and sdstrategy() args and
remove useless #if 0'ed out code.
No functional change.

Replace DELAY() with one in hp300 bootloader and adjust cpuspeed counts.

Fix boot failure on my ancient Seagate ST52160N drive.
It looks some of such old drives can't respond to SCSI
test-unit-ready command without proper wait after SCSI bus reset.

Bump version again to denote a fix.

XXX we should re-evaluate cpuspeed counts for DELAY() in bootloaders
(where cache is disabled) on other m68k ports, hp300 and luna68k etc.

Actually bump version (missed in the previous commit).
 1.10.96.1  12-Feb-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #1591):

sys/arch/next68k/stand/boot/scsi.c: revision 1.11
sys/arch/next68k/stand/boot/sd.c: revision 1.13
sys/arch/next68k/stand/boot/scsi.c: revision 1.12
sys/arch/next68k/stand/boot/sd.c: revision 1.14
sys/arch/next68k/stand/boot/sd.c: revision 1.15
sys/arch/next68k/stand/boot/sd.c: revision 1.16
sys/arch/next68k/stand/boot/rtc.c: revision 1.7
sys/arch/next68k/stand/boot/dmareg.h: revision 1.4
sys/arch/next68k/stand/boot/machdep.c: revision 1.8
sys/arch/next68k/stand/boot/srt0.s: revision 1.3
sys/arch/next68k/stand/boot/README: revision 1.2
sys/arch/next68k/stand/boot/devopen.c: revision 1.7
sys/arch/next68k/stand/boot/Makefile: revision 1.30
sys/arch/next68k/stand/boot/Makefile: revision 1.31
sys/arch/next68k/stand/boot/version: revision 1.5

Remove trailing spaces and TABs.

Make sure to specify volatile explicitly on DMA register accesses.

It looks booting from SCSI disks on next68k have been broken
since NetBSD 1.6 days, but now it works.

Avoid possible division by zero trap in error cases to make debug easier.

Request only 36 bytes for a response of INQUIRY command for legacy drives.
Some drives don't respond larger requested size for newer
SCSI3 devices and not all drivers can handle short xfers.
We should fix drivers to handle such short xfers properly,
but we need only SCSI device type here (and the 36 bytes are
enough even if we want vendor and product names on a bootloader).
The problem is reported from Andreas Grabher (a maintainer of NeXT
Computer Emulator) on port-next68k@:
https://mail-index.netbsd.org/port-next68k/2023/02/thread1.html

Disable DEBUG options properly.

Bump version to 1.6 to denote recent bootloader's >20 years old bug fixes.

RSS XML Feed