Document revision date: 19 July 1999 | |
Previous | Contents | Index |
On Alpha systems, commands for connecting devices and loading their drivers are in the System Management utility (SYSMAN). All SYSMAN commands that control and display the I/O configuration on an Alpha system contain the prefix IO.
Whenever possible, it is preferable to use the IO AUTOCONFIGURE command to connect standard devices and load device drivers.
IO AUTOCONFIGURE does not connect or load the device driver for the network communications logical device. In addition, other devices and drivers might exist that IO AUTOCONFIGURE does not connect and load.
You can connect unattached devices and devices that have nonstandard names, as well as load device drivers with the SYSMAN commands IO CONNECT and IO LOAD.
For more information, refer to the SYSMAN section of the OpenVMS System Management Utilities Reference Manual and the Writing OpenVMS Alpha Device Drivers in C.
Exercise great care in issuing IO CONNECT and IO LOAD commands. Incorrect use of these commands could cause the system to fail. |
To connect the network communications logical device on Alpha systems, run SYS$MANAGER:STARTNET:
$ @SYS$MANAGER:STARTNET |
The commands in the following example autoconfigure the devices physically attached to the Alpha system, load their drivers, and connect the network software device:
SYSMAN> IO AUTOCONFIGURE ALL SYSMAN> EXIT $ @SYS$MANAGER:STARTNET |
Autoconfiguration of devices saves effort and reduces the possibility of error. However, you might want to suppress autoconfiguration for the following reasons:
To suppress autoconfiguration, add the following command as the last line of SYS$MANAGER:SYCONFIG.COM:
$ STARTUP$AUTOCONFIGURE_ALL == 0 |
Autoconfiguration is the process of discovering the hardware devices on a system and loading the appropriate device drivers. File-based autoconfiguration is a feature that enables OpenVMS Alpha to automatically configure third-party hardware devices.
Beginning with OpenVMS Alpha Version 7.1, device configuration tables are constructed from ASCII text files on the OpenVMS Alpha operating system disk. By adding simple descriptions of their devices in the appropriate ASCII text file, third parties and end users can configure non-Compaq supported devices and load user-written device drivers.
The following sections briefly explain device configuration and
describe how to use the new file-based autoconfiguration method to
configure non-Compaq supported devices.
7.5.1 Understanding Device Configuration
A device is configured on OpenVMS when system code is able to locate it on a bus, give it a name, and load a device driver for it. When a device is autoconfigured, all these steps happen without any user intervention.
OpenVMS discovers devices during the boot process in a bus-specific manner. The discovery process includes storing data about detected devices in bus-specific data structures. These data structures are later used to search configuration tables of known devices. The configuration table provides the information necessary to determine the driver name, the device name, and other parameters for loading and connecting the appropriate driver.
Prior to OpenVMS Alpha Version 7.1, configuration tables were built into the OpenVMS kernel and could not be modified without replacing a system image. As of OpenVMS Alpha Version 7.1, the configuration tables are constructed from ASCII text files on the system disk. A system file (SYS$SYSTEM:SYS$CONFIG.DAT) is provided for all OpenVMS supported devices, and a user file (SYS$SYSTEM:SYS$USER_CONFIG.DAT) is provided for all third-party, layered-product, and user-written device drivers. The system reads these files during the boot process and uses the files to create a set of configuration tables. These tables are used for subsequent autoconfiguration of hardware devices. Although the tables are built from two files and collected by bus type, they can be considered one logical configuration table of known devices.
Section 7.5.2 describes how to use the SYS$SYSTEM:SYS$USER_CONFIG.DAT
file to autoconfigure devices.
7.5.2 Using File-Based Autoconfiguration
File-based autoconfiguration reads two files during system boot to build the configuration tables of known devices:
Both files use the same format, and the data from both files are combined to create the configuration tables for each bus on the system. The SYS$USER_CONFIG.DAT file is read first, and takes precedence over any duplicate device descriptions contained in both files. If multiple device descriptions exist in a single file, the first occurrence of the description is used.
The configuration files consist of device description blocks, each of which provides the information needed to configure the correct device driver for a device.
Each device description block consists of a series of statements starting with a DEVICE keyword and ending with the END_DEVICE keyword. Between these two keywords, additional keywords define the hardware ID, the device name, the driver name, the bus type, and any other required or optional information.
The SYS$USER_CONFIG.DAT file is an ASCII text file, which can be processed with any utility that handles variable-length record files (for example, a text editor or DCL commands).
The SYS$CONFIG.DAT file is read-only and should not be modified by users or by third parties. It should only be modified by Compaq, and it might be replaced by OpenVMS upgrades. Inappropriate edits to this file could result in the inability to boot the system. |
Statements in the SYS$SYSTEM:SYS$USER_CONFIG.DAT take the general form:
KEYWORD = value |
where the value is a string, a quoted string, or a numeric value. The END_DEVICE keyword has no associated value. For example, a minimal description of a non-disk device might look like the following:
DEVICE = "My device" NAME = UU DRIVER = USER$UUDRIVER ID = 0x0005111 ADAPTER = PCI FLAGS = NOVECTOR END_DEVICE |
In this example, the description indicates that when a device with the hardware ID of 5111 (hex) is found on a PCI bus, the device named UU should be configured, and the USER$UUDRIVER device driver should be loaded. This example also specifies that the driver does not want to be connected to an interrupt vector. (If the bus information had a vector, it would be ignored.)
In addition to the values shown in the previous example, the following implied values can also be specified:
UNITS = 1 NUM_VECTORS = 1 |
These values usually default to the correct values for a single unit
controller.
7.5.2.2 Configuration File Syntax
The following syntax rules apply to the SYS$USER_CONFIG.DAT file.
A minimal device description consists of DEVICE, NAME, DRIVER, ADAPTER, and END_DEVICE statements. The following keywords are defined for file-based autoconfiguration device descriptions:
SDA> CLUE CONFIG . . . Adapter Configuration: ---------------------- TR Adapter ADP Hose Bus BusArrayEntry Node Device Name/HW-Id -- ----------- -------- ---- -------------------- ---- ----------------- . . . 4 PCI 80949900 60 PCI 80949B50 1 MERCURY 80949BC0 GQA: 3 S3 Trio32/64 80949C30 EWA: 5 NI (Tulip) |
NOVECTOR | Device has no interrupt vector. |
CASE_BLIND | Causes the ID to be treated as an ASCII string and converted to uppercase. In addition, the ID from the hardware will also be converted to uppercase before comparing. This flag is useful for ISA device strings because the console ISACFG command will not convert the HANDLE to uppercase. If this flag is specified, the ID must be entered in the description as a string, and not as a number, or an error will be displayed and the description ignored. |
EXTENDED_ID |
The flag is valid only for devices on the PCI bus. Normally, only
32-bit hardware IDs are used for PCI. If you have a PCI board that
supports the V2.1 PCI bus specification, set this flag. The upper 32
bits of the hardware ID should contain the subsystem ID and the
subsystem vendor ID. For example, in the following example, 1133 is the
subsystem ID, and 10DF is the subsystem vendor ID.
FLAGS = EXTENDED_ID If the EXTENDED_ID flag will be used to load a special driver, but the same ID without the EXTENDED_ID bit will be defined to load a generic driver, the description with the EXTENDED_ID should be located before the generic description. |
ISA_ON_EISA | This flag is valid only when the value EISA is given to the ADAPTER keyword, and the device is an ISA device. ISA devices should set this flag to ensure that the value given to the ID keyword is interpreted correctly. For ISA devices, the system keeps the ID value as an ASCII string. When the system believes that this is an EISA device, the ID value is compressed into binary format. |
USER_PARAM = "some data" |
BEGIN_PRIVATE "some data" END_PRIVATE |
Table 7-1 indicates keywords that can be included in the configuration file.
Keyword | Required | Description |
---|---|---|
DEVICE | Yes | Begins a device description |
END_DEVICE | Yes | Ends a device description |
ID | Yes | Specifies the hardware ID |
NAME | Yes | Device name |
DRIVER | Yes | Driver name |
ADAPTER | Yes | Adapter type |
UNITS | No | Units Default: 1 |
FLAGS | No | Device flags: Default: No flags |
PRIVATE_DATA | No | Specifies private data |
BEGIN_PRIVATE | No | Specifies start of private data |
END_PRIVATE | No | Specifies end of private data |
NUM_VECTORS | No | Number of vectors Default: 1 |
The REBUILD keyword requests SYSMAN to rebuild the configuration tables attached to each of the adapter blocks by re-reading and parsing SYS$SYSTEM:SYS$USER_CONFIG.DAT and SYS$SYSTEM:SYS$CONFIG.DAT. The REBUILD command will always rebuild all of the configuration tables, regardless of the type of bus. It is then necessary to re-execute the AUTOCONFIGURE command to load the device drivers for any newly defined devices:
$ MC SYSMAN IO REBUILD $ MC SYSMAN IO AUTOCONFIGURE |
Note that once a driver has been loaded for a device, it cannot be reloaded.
The MC SYSMAN IO REBUILD/VERIFY command
causes SYSMAN to read and process the SYS$SYSTEM:SYS$USER_CONFIG.DAT
and SYS$SYSTEM:CONFIG.DAT files, but not to rebuild the configuration
files for OpenVMS. Messages will be displayed for any errors that are
encountered. This command can be used by developers to test new changes
to SYS$SYSTEM:SYS$USER_CONFIG.DAT without modifying the current system.
7.5.3 Supported Buses for User Devices
File-based autoconfiguration is supported for user-written device
drivers on PCI, ISA, EISA, and TURBOchannel buses. This section
includes additional information specific to configurations.
7.5.3.1 ISA Device Configuration
ISA devices do not provide a readable device ID that can be discovered during bus probing. A user must explicitly indicate the presence of the device at the console and must also reserve resources for the device at the console (IRQs, I/O ports, etc.). Once the device is known to the console, OpenVMS can then autoconfigure it using file-based autoconfiguration.
ISA devices may be used on either an ISA bus or an EISA bus. If the
system has an ISA bus, the device is configured at the console using
ISACFG. If the system has an EISA bus, the ISA device is configured
using ECU. Both console utilities allow the users to reserve device
resources.
7.5.3.1.1 Configuring ISA Devices on the ISA Bus
In previous versions of OpenVMS Alpha, ISA devices on an ISA bus required an entry in the SYS$MANAGER:ISA_CONFIG.DAT file that defined the hardware and the use of the console command ISACFG to reserve system resources like IRQs.
Beginning with OpenVMS Alpha Version 7.2, the ISA_CONFIG.DAT file will no longer be supported. Refer to Section 7.5.4 for more information. |
Previous | Next | Contents | Index |
privacy and legal statement | ||
6017PRO_025.HTML |