|
|
1.1 root 1: Hatari provides a host component implementation of the SCSI Driver for Hatari
2: (Linux only).
3: The SCSI Driver standard is an open software interface for the Atari and was
4: initiated by Steffen Engel. Please refer to src/nf_scsidrv.c and
5: http://hddriver.seimet.de/en/downloads.html for further information.
6:
7: The SCSI Driver for Hatari implements a SCSI Driver on top of the Linux SG 3
8: driver interface. With the SCSI Driver software running within Hatari can
9: access all devices supported by the Linux SG driver. The Hatari user needs the
10: proper Linux permissions to access these devices. Depending on the Linux
11: distribution one may have to belong to the groups 'disk' and 'cdrom', for
12: instance.
13:
14: The SCSI Driver for Hatari implements the SCSI Driver interface version 1.01.
15: It consists of two software components:
16:
17: 1. Native SCSI Driver host implementation, which for Linux is provided by
18: Hatari. It maps SCSI Driver calls to Linux SG driver calls. In order to run
19: the SCSI Driver stub for TOS on other platforms than Linux, this is the
20: code that has to be ported.
21: 2. SCSI Driver stub for TOS, HAT_SCSI.PRG. This component runs on TOS and
22: uses Hatari's NatFeats interface to call the host driver. The stub is
23: independent of the host platform Hatari is running on. HAT_SCSI can be
24: downloaded from http://hddriver.seimet.de/en/downloads.html.
25:
26: The NatFeats-based interface between the TOS stub and the host driver
27: implementation consists of these calls (NatFeats sub-ids):
28:
29: 1. SCSI_INTERFACE_VERSION
30:
31: Returns the driver interface version number. (Note that this is not the same
32: as the SCSI Driver version.) Only if the host implementation and the TOS stub
33: interface version match, the stub can be installed. The format of the version
1.1.1.2 ! root 34: string is MAJOR.MINOR, coded as a 16-bit value. 0x0105, for instance, means
1.1 root 35: version 1.05.
36:
37: 2. SCSI_INTERFACE_FEATURES
38:
39: Returns the host's bus features, which depend on the host system, and the bus
40: name. For Linux the bus name is "Linux Generic SCSI".
41:
42: 3. SCSI_INQUIRE_BUS, SCSI_OPEN, SCSI_CLOSE, SCSI_ERROR SCSI_CHECK_DEV
43:
44: The host implementations of the corresponding SCSI Driver calls.
45:
46: 4. SCSI_INOUT
47:
48: The host implementation of the SCSI Driver's In() and Out() calls. Except for
49: the data flow direction flag both calls are identical, so that they can be
50: mapped to the same interface all.
51:
52: All SCSI Driver calls not listed above are implemented by the TOS stub.
53: Please refer to the source code (Hatari part and TOS stub) for details.
54:
55:
56: Uwe Seimet
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.