SCSI Controllers
Table of Contents
Introduction
CHARON-VAX provides two SCSI controllers for the SCSI and SCSI/QBUS models of VAX.
Hardware disks, disk images, hardware tapes, tape images, floppy devices and CD-ROM devices can be connected to these SCSI controllers. Each device has to be configured to connect to a specific SCSI address in CHARON-VAX.
Use the following emulated device types to map real peripherals to the emulated SCSI devices:
Type of mapping | Description |
---|---|
virtual_scsi_disk | For disk image containers and physical disks |
virtual_scsi_tape | For tape image containers |
physical_scsi_device | For physical SCSI devices on a host. This instance type can be used for any SCSI device: disk drives, tape drives or SCSI CD-ROM/DVD-ROM drives. |
CHARON-VAX disk/tape devices can be SCSI disk/tape devices connected to a host system or disk/tape containers that are presented to the operating system environment as files.
Two SCSI controllers are provided ("PKA" and "PKB") in CHARON-VAX, with 7 addresses each.
Beyond the capabilities of the hardware, VAX 3100/9x and 4000/10x, CHARON-VAX/XX implements extended SCSI addressing. Each of the seven device addresses, of a SCSI controller, supports up to eight disk/tape images. Thus the number of disks supported becomes 2x Controllers*7 addresses*8 Disks/Tapes, a total of 112 disks/tapes.
SCSI devices with the same ID but different LUNs (logical units) appear in the VAX console with different names. The naming convention is as follows:
Each SCSI device has the name in the form of "xKct0n:", where:
- "x" stands for the device type (D means disks, M means magnetic tapes, G is reserved by VAX/VMS for special purposes)
- "c" stands for the controller letter (A - the first controller, B - the second controller, ...)
- "t" stands for the SCSI device ID (usually 0 through 6, and 7 is allocated by the controller itself)
- "n" stands for a particular logical unit number, LUN.
Most of the 'normal' SCSI devices have only one logical unit - 0. Therefore, under normal conditions, disks in VAX/VMS appear as DKA0 (which is really DKA000), DKA100, DKA200, ..., tapes as MKA0 (which is really MKA000), MKA100, MKA200, ...
As soon as there is a disk/tape device with LUNs 0 and 1, VMS identifies them as, for example, DKA300 and DKA301 (MKA300 and MKA301) respectively.
The boot ROM of CHARON-VAX detects SCSI devices with multiple LUNs and builds proper device names for them.
To display a list of devices on the VAX console (SRM), enter ">>> show device
" .
This list is passed to VAX/VMS at boot time.
VAX/VMS creates devices only for logical unit 0 for each device detected in the boot ROM. To add additional logical units, use the following SYSGEN command:
$ MCR SYSGEN CONNECT DKxxx/NOADAPTER |
where DKxxx (or MKxxx) stands for the correct VAX/VMS name of the logical unit to be connected. You can find its name from the SRM console using the ">>> show scsi
" command.
This command is not boot persistent, so it must be included in the VAX/VMS "SYSTARTUP_VMS.COM" file to ensure it is executed with each startup.
Also note: that the following rules are applied for logical units.
Each SCSI device must implement logical unit 0.
- A SCSI device must implement all logical unit numbers between the highest and the lowest numbers implemented.
Empty disk images can be created with the "MkDisk" utility.
CHARON-VAX is able to boot from disk images of any VAX/VMS version, starting with 4.5 or higher for MicroVAX II or VAX 3600 and VMS 5.5-2 or higher for the VAX4000.
Mapping to host resources
Load a mapping device with the "load" command. Specify the name of the device instance, the emulated SCSI bus to connect the device to and the SCSI identifier of the CHARON-VAX device.
Parameter | Type | Value |
---|---|---|
scsi_bus | Identifier | Name of the emulated SCSI disk controller: "pka" or "pkb" |
scsi_id | Numeric | A value between 0 and 7. This is the ID number of the emulated SCSI device. The SCSI adapter is preloaded with address 7. If required, set it to another value in the range of 0-7 from the VAX console. |
There is no direct correspondence between the host hardware SCSI ID and these CHARON-VAX SCSI addresses. Set the correspondence between the physical SCSI addresses on the host system and the CHARON-VAX SCSI bus ID in the configuration file.
Syntax:
load <instance type>/<module name> <instance name> scsi_bus=<bus name> scsi_id=<number> |
Example:
|
CHARON-VAX/XX has only one preloaded SCSI adapter, named: PKA. If a second adapter (PKB) is required then add the following line to the configuration file before loading and configuring any device on the second SCSI adapter PKB:
include kzdda.cfg |
"kzdda.cfg" loads the second SCSI adapter.
OpenVMS version 5.5-2H4, or above, is required to use the "pkb" controller.
"virtual_scsi_disk"
Use the "virtual_scsi_disk" mapping for disk containers. This is the most convenient way of connecting disks to SCSI adapters in CHARON-VAX
The "virtual_scsi_disk" mapping has the following parameters:
container
Parameter | container[N] N=0…7 |
---|---|
Type | Text String |
Value | A string containing the full path to a disk container. N stands for logical unit number. The first unit must be 0 with no gaps in subsequent numbering.. If only the name of the disk container is specified, CHARON-VAX will look for the container in the folder where the emulator executable resides, typically "C:\Program Files (x86)\CHARON\Build_XXXXX\x86" (Windows x64; for Windows x86 the path is "C:\Program Files\CHARON\Build_XXXXX\x86"). |
media_type
Parameter | media_type[N] N=0…7 |
---|---|
Type | Text String |
Value | Overrides PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, integers and spaces. The length of this string cannot exceed 16 characters. If not specified, synthetic SCSI INQUIRY data is returned containing the PRODUCT ID selected, based on the disk size. Initially left unspecified. |
geometry
Parameter | geometry[N] N=0…7 |
---|---|
Type | Text String |
Value | This formatted string value specifies the explicit geometry of the disk storage element The string format is <X>”/”<Y>[“/”<Z>] where:
If this parameter is not set, CHARON-VAX will configure the geometry based on the most probable disk type. |
use_io_file_buffering
Parameter | use_io_file_buffering[N] N=0…7 |
---|---|
Type | boolean |
Value | Enables the use of the host OS I/O buffering. Initially set to “NO” (buffering disabled). |
removable
Parameter | removable[N] N=0…7 |
---|---|
Type | boolean |
Value | Enables the logical unit to appear as a removable SCSI disk drive. Initially set to “NO” (fixed, non-removable). |
Example
|
If only one LUN is configured, the LUN number can be omitted:
|
When a virtual SCSI disk image is dismounted in VMS, it is no longer open by CHARON and may be copied. This capability can be useful when designing back-up and restore procedures. If copying CHARON-VAX disk images while CHARON-VAX is running, take care to minimize the risk of overloading the host system.
Unlike MSCP controlled disk images, a disk image connected to a SCSI controller as a virtual SCSI disk CANNOT be replaced by another disk image unless "removable" parameter is set for this particular disk image.
Example of CD-ROM ISO image usage:
|
"virtual_scsi_tape"
Use "virtual_scsi_tape" for tape containers. This is the most convenient way of connecting tapes to SCSI adapters in CHARON-VAX.
"virtual_scsi_tape" has the following parameters:
container
Parameter | container[N] N=0…7 |
---|---|
Type | Text String |
Value | A string containing the full path to a tape container. If the specified tape image does not exist, CHARON-VAX creates it. N stands for the logical unit number (LUN). The first unit must be 0 with no gaps in subsequent numbering. If only the name of the tape container is specified, CHARON-VAX will look for the container in the folder where the emulator executable resides, typically "C:\Program Files (x86)\CHARON\Build_XXXXX\x86" (Windows x64; for Windows x86 the path is "C:\Program Files\CHARON\Build_XXXXX\x86"). |
media_type
Parameter | media_type[N] N=0…7 |
---|---|
Type | Text String |
Value | Overrides PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, integers and spaces. Length of this string cannot exceed 16 characters. By default the PRODUCT ID returned is "TLZ04" |
geometry
Parameter | geometry[N] N=0…7 | ||
---|---|---|---|
Type | Text String | ||
Value | Specifies the size of the tape image and (optionally) the size of the "early-warning" area at the end of the tape image. Syntax:
where:
Example:
|
Example
|
If only one LUN is configured, the LUN number can be omitted:
|
Tape images can be replaced anytime once they have been dismounted in guest operating system.
"physical_scsi_device"
Use "physical_scsi_device" to connect any host SCSI device to CHARON-VAX.
"physical_scsi_device" has the following parameters:
container
Parameter | container[N] N=0…7 | ||
---|---|---|---|
Type | Text String | ||
Value | A string containing the device name to map to the emulator. N stands for logical unit number (LUN). It must begin at 0 and have no gaps in subsequent numbering. If there is only one logical unit the number can be omitted.
This parameter is initially not set, thus creating NO storage elements on the controller |
media_type
Parameter | media_type[N] N=0…7 |
---|---|
Type | Text String |
Value | Overrides the PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, integers and spaces. The length of the string cannot exceed 16 characters. If not specified, synthetic SCSI INQUIRY data is returned containing a PRODUCT ID selected based on the disk size. Initially left unspecified. |
geometry
Parameter | geometry[N] N=0…7 |
---|---|
Type | Text String |
Value | This formatted string value specifies the explicit geometry of the disk storage element The string format is <X>”/”<Y>[“/”<Z>] where:
If this parameter is not set, CHARON-VAX will configure the geometry based on the most probable disk type. |
use_io_file_buffering
Parameter | use_io_file_buffering[N] N=0…7 |
---|---|
Type | boolean |
Value | Enables use of the host OS I/O buffering. Initially set to “NO” (buffering disabled). |
removable
Parameter | removable[N] N=0…7 |
---|---|
Type | boolean |
Value | Enables the logical unit to appear as a removable SCSI disk drive. Initially set to “NO” (fixed, non-removable). |
Example
|
This example associates an unallocated SCSI drive "\\.\PhysicalDrive1" with physical_scsi_device "pka_0".
© Stromasys, 1999-2024 - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.