Table 6-1 indicates keyword 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.
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.
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.
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.
Warning
As of OpenVMS Alpha Version 7.2, the ISA_CONFIG.DAT file will be removed and will no longer be supported. Refer to Section 6.4 for more information.
ISA devices must be manually configured using the EISA Configuration Utility (ECU) which is run from the console. Devices must have a CFG file provided on a DOS floppy. The CFG file provides a string (up to 7 characters) as the device ID.
See your card manufacturer, or the EISA Bus Specification for details on CFG file format.
The ECU floppy (DOS format) contains an example ISA CFG file (ISA000.CFG) that may be used as a model for new configuration files. For more information, refer to the EISA Bus Support chapter in Writing OpenVMS Alpha Device Drivers in C.
Once the ECU has been run, the device can be configured using file-based autoconfiguration.
Note
ISA devices cannot be easily autoconfigured on EISA bus systems on versions prior to OpenVMS Alpha Version 7.1 because the ID is not copied from the ECU data into the OpenVMS bus structures.
Support for using the SYS$MANAGER:ISA_CONFIG.DAT file to configure ISA devices will be discontinued in a future release of OpenVMS Alpha. If you use this file, you should convert to using the ISACFG utility from the console and the file-based autoconfiguration method described in this chapter.
Table 6-2 contains a list of keywords from ISA_CONFIG.DAT and their equivalents in either file-based autoconfiguration or the ISACFG utility.
ISA_CONFIG.DAT | File-based Autoconfigure | ISACFG |
---|---|---|
Not used | ID | -handle |
NAME | NAME | |
DRIVER | DRIVER | |
IRQ | irq x | |
NODE | slot | |
DMA | dmachan x | |
PORT | iobase x | |
MEM | membase x | |
FLAGS | Bit 1 (unsupported) | |
Bit 2 (FLAG=NOVECTOR) | ||
USER_PARAM | PRIVATE_DATA |
An entry in ISA_CONFIG.DAT is matched to internal data kept for an ISA device using the number specified with the NODE keyword. But when you use SYS$USER_CONFIG.DAT file to configure an ISA device, the ID keyword is used to match the block, which defines the device, to data entered from the console with the ISACFG command. The value give to the ID keyword must be the same as the value specified with the ISACFG -handle keyword.
Any identification string can be used for an ISA device. It should be eight characters or less. The ISACFG command does not set the -handle value to upper case, so two methods can be used to force the value to match one specified using the configuration keyword ID. You can specify the ID value in the correct case inside of quotation marks (matching the case you used for the -handle value). Or you can use the configuration keyword FLAGS=CASE_BLIND, which will cause a blind comparison to be done.
For example, if you use the following in ISACFG:
>>>isacfg -slot 3 -dev 0 -mk -enadev 1 -type 1 -handle MyDevice
you can match that to the following entry in SYS$USER_CONFIG.DAT:
DEVICE = "My Device" ID = MYDEVICE FLAGS = CASE_BLIND . . . END_DEVICE
Descriptions of the conversion for each parameter in ISA_CONFIG.DAT are as follows:
NAME = xx
Use the NAME keyword in SYS$USER_CONFIG.DAT. Use the same value, where xx is the device code. (The device code is usually 2 letters.)Example: NAME = ER
DRIVER = driver_name
Use the DRIVER keyword in SYS$USER_CONFIG.DAT. Use the same value for file-based autoconfiguration. driver_name is the name of the driver in SYS$LOADABLE_IMAGES.Example: DRIVER = SYS$ERDRIVER
IRQ = i
Use irqx in the ISACFG utility. You can express four irqs: -irq0 thru -irq3. Use the same value as you used for ISA_CONFIG.DAT. The IRQ is a value from 0 to 15, which specifies which ISA IRQ the device uses to report interrupts.Example:
This example assigns IRQs 10 and 5 to the device.
>>>isacfg -slot 3 -dev 0 -mk -handle MYDEV -enadev 1 -etyp 1 -irq0 10 -irq1 5NODE = n
Use -slot in the ISACFG utility. The slot number (n) does not represent the slot in which the device resides. It is a logical, not a physical number. However, the number does have to be between 1 and the maximum number of slots on the machine. Slot number 0 is not available to users.Example:
>>>isacfg -slot 3 -dev 0 -mk -enadev 1 -etyp 1 -handle MYDEV -dmachan0 1 -irq0 10This example assigned values to a device represented by slot 3. There must be at least 3 slots on the machine on which this command is executed. To see which logical slots are being used, enter the following command:
>>>isacfg -allDMA = (j,k, ...)
Use -dmachanx in the ISACFG utility. Values j,k etc. are values zero through seven, which specify the channels of the DMA controller which the device is using to relay information. Use the same values for j, k, etc. with ISACFG, but assign each one to a different DMA channel. You can specify four DMA channels, using the keywords -dmachan0 thru -dmachan3.Example:
>>>isacfg -slot 3 -dev 0 -mk -enadev 1 -etyp 1 -handle MYDEV -irq0 10 -dmachan0 1 -dmachan1 3This example assigned two dma channels, 1 and 3, to the device.
PORT = (aa:b, cc:d, ... )
Use -iobasex in the ISACFG utility. You can specify six ports using the keywords -iobase0 through -iobase5. There is no equivalent for the length fields b, d etc. The ISACFG utility assumes that the driver knows the length of the port. Drivers that called the IOC$NODE_DATA routine with the keyword IOC$K_EISA_IO_PORT to obtain the length in the upper word of the returned longword should stop examining the upper word. With ISA_CONFIG.DAT, the length was returned; but with ISACFG, the length is always 8.Example:
>>>isacfg -slot 3 -dev 0 -mk -enadev 1 -etyp 1 -handle AAA321 -irq0 10 -iobase0 2F8This example assigned port 2F8 to the device.
MEM = (ee:f, gg:h, ...)
Use the ISACFG keywords -membasex, to specify the memory base, and -memlenx, to specify the memory length. Use the same values for ee, gg etc. and f, h etc. as you used for ISA_CONFIG.DAT. You can specify three memory regions using the keywords membase0 through membase2 and memlen0 through memlen2.Example:
>>>isacfg -slot 3 -dev 0 -mk -enadev 1 -etyp 1 -handle MYDEV -irq0 10 -membase0 80000 -memlen0 20FLAGS = n
The FLAGS field in ISA_CONFIG.DAT had 2 meaningful bits:Bit 0 indicates the device being configured is a SCSI adapter.
Bit 1 indicates that no interrupt is required for the device.
Because it was never possible to use bit 0, it is not currently supported in file-based autoconfiguration. Bit 1 can be expressed with the file-based autoconfiguration FLAGS=NOVECTOR statement.
USER_PARAM = text
Use the PRIVATE_DATA keyword in file-based autoconfiguration to represent this value. If you used quotation marks with the USER_PARAM value, you must use BEGIN_PRIVATE and END_PRIVATE to continue to pass the quotation marks to the driver. For ISA devices, the PRIVATE_DATA values can be obtained the same way as USER_PARAM (that is, by using the IOC$NODE_DATA routine with the IOC$K_ISA_USER_PARAM keyword).While using ISACFG you must also be familiar with the following commands:
To return the configuration to its initial state:
>>>isacfg -initTo save your changes:
>>>initTo delete an entry:
>>>isacfg -slot 1 -dev 0 -rmTo see all the devices currently configured:
>>>isacfg -allTo modify a device, use -mod:
>>>isacfg -slot 2 -dev 0 -mod (etc.)The following keywords do not have equivalents in ISA_CONFIG.DAT:
-enadev a_number Takes the numbers 0 (disabled) and 1 (enabled). It allows you to disable a device so that it will not be used in resource allocation calculations. -etyp a_number Defines an entry type for this entry. OpenVMS supports only the values 0 and 1. It should always be specified as a 1. It takes the following values:
- 0 Causes the entry to be deleted
- 1 Single option
- 2 Embedded multiport device
- 3 Multiport option device
This section describes system messages that might appear when you are using file-based autoconfiguration to configure a device.
For each message, the text of the message appears in uppercase letters and is followed by an explanation of why the message occurred and, where applicable, what you should do to correct the problem.
%READ_CONFIG-W-BAD_HWID, the HW ID string cannot be zero. Device device_name ignored at line line_number.
%READ_CONFIG-W-BAD_NUMBER, the argument text string to the keyword command is not a valid number. Device device_name ignored at line line_number.
%READ_CONFIG-W-BAD_EISA_ID, the ID text string must be 3 alpha characters, followed by 4 hex digits. Device device_name ignored at line line_number.
If the device is an ISA device on the EISA bus, use the flag ISA_ON_EISA to prevent compression of the ID.
In OpenVMS Alpha Version 7.1, the device description will not be added.
%READ_CONFIG-W-UNKOWN_COMMAND, unknown command: keyword at line line_number.
%READ_CONFIG-W-MISSING_INFO, a required field was not provided for: DEVICE = text string, NAME = text string, or DRIVER = text string at line line_number.
%READ_CONFIG-W-NOT_ADDED, a error was detected for DEVICE = text string, NAME = text string, or DRIVER = text string, not added.
%READ_CONFIG-W-MISSING_END_DEVICE, missing END_DEVICE. Device text string ignored at line line_number.
%READ_CONFIG-W-INSFARGS, insufficient arguments in the keyword command, needs number, found number at line line_number.
%READ_CONFIG-W-NOEQUALS, missing equal sign in keyword command at line line_number.
%READ_CONFIG-W-NOSTRING, string value is NULL in keyword command at line line_number.
%READ_CONFIG-W-NEEDVALUE, needed value in keyword command, found text string instead at line line_number.
%READ_CONFIG-W-BADUNITS, illegal UNITS value text string at line line_number, forcing UNITS = 1.
%READ_CONFIG-W-UNKNOWNADAPTER, unknown adapter Type: text string at line line_number.
%READ_CONFIG-W-MISSINGADAPTER, the device device_name has an ID, but no ADAPTER, premature END_DEVICE at line line_number.
%READ_CONFIG-W-UNKNOWN_FLAG, unknown flag: text string at line line_number.
%READ_CONFIG-W-NULL_HW_ID, no ID was specified for DEVICE device_name, premature END_DEVICE at line line_number.
%READ_CONFIG-W-ID_NOT_STRING, the ID for device device_name is not a string, but CASE_BLIND is specified, at line line_number.
%READ_CONFIG-W-LINE_TRUNCATED, more than number characters in line, at line line_number.
%READ_CONFIG-W-NOT_IN_DEVICE, keyword command encountered with no preceding DEVICE command, at line line_number.
%READ_CONFIG-W-NOT_IN_PRIVATE, END_PRIVATE command encountered with no preceding BEGIN_PRIVATE command, at line line_number.
%READ_CONFIG-W-TOOMANYARGS, command expected number arguments, but found number at line line_number.
%READ_CONFIG-W-DUPLICATE_ID, Device device_name has the same ID as a previous device for this bus, at line line_number.
%READ_CONFIG-W-COMMAND_REPEAT, duplicate keyword command for device device_name is ignored, at line line_number.
%READ_CONFIG-F-NO_SYSTEM_CONFIG, the system file filename was not found, your system will not boot.
%READ_CONFIG-F-NOMEMORY, could not allocate memory, requested text string bytes.
%READ_CONFIG-I-NOAUTOCONFIG, filename will not be read, use SYSMAN IO REBUILD comamand to include devices after boot.
This release includes new or changed messages for the following OpenVMS facilities:
This appendix alphabetically lists and describes most messages that have been added or changed for this release. New and changed messages for the following facilities are documented with other messages for those facilities in OpenVMS System Messages: Companion Guide for Help Message Users: BACKUP, LOGIN, MOUNT, SHADOW, SYSINIT, and Cluster Port Driver. MEMORY CHANNEL (MC) messages are in the Help Message database only.
You can access online descriptions of new and existing OpenVMS system messages by using the online Help Message utility. For information about the HELP/MESSAGE command and qualifiers, see DCL help (type HELP HELP/MESSAGE at the DCL prompt) or refer to OpenVMS System Messages: Companion Guide for Help Message Users.
ABORT, fatal error encountered; operation terminated
ALPHADUMP, dump file header FLAGS2 DMP$V_ALPHADUMP is set indicating an Alpha dump
ASNCNTINV, unable to show counters on an inactive line
ASNSETUP, error with ASN device setup
ASSIGNCHAN, error trying to open device 'device-name'
AUTHFAIL, authorization failure
BADCHECK, checksum is not valid for 'product' Authorization: 'authorization-number'
BADCHKSUM, dump header checksum incorrect; continuing anyway
BADIOSBADDR, IOSB buffer address 'address' is not on allocated list
BADOVER4GB, dump file contains data written directly from addresses over 4GB
This message indicates that all of the following conditions exist:
Under these conditions, a selective memory dump is taken even if a full
memory dump is requested. Also, the dump is not compressed even if
compression was requested.
User Action: Ensure that resident libraries are used.
These are automatically installed when AUTOGEN is used to configure the
system.
BADPSBARRAY, invalid value in PSB array; array has been corrupted
BADRESSIZ, invalid value for memory reservation size
BADSELWGHT, selection weight not valid for 'product'; values range from 0 to 1000
BATCH, batch operations are not supported at this time
BREAKERR, error sending break on 'device-name'
CALLBACKERR, error calling network callback
CBLOCKMAPTOOBIG, compression block map too big for SDA to handle; may not be possible to copy dump correctly
CHKDOM, ExtAuth set for 'account'; ensure corresponding domain account exists
CLOSERR, unable to close file 'file-name'
CMDNOTALLINPIP, the specified command sequence is not allowed in a PIPE command
CMDPROC, error processing command
CNFLTQUALS, conflicting qualifiers
CONFIRMINPUT, SYS$COMMAND is not a terminal; /CONFIRM ignored
CONNECTERR, unable to connect to file 'file-name'
CONNECTTERM, converting connection on device 'device-name' to a Point-to-Point connection
CREATED_SHPT, section did not exist; has been created with shared page tables
DATAOVERUN, data overrun on device 'device-name'
$ SET TERMINAL/PERMANENT/ALTYPEAHD [ddcu:]
DIALINIT, error in DIAL_OUT initialization
DISCONNECTERR, unable to disconnect from file 'file-name'
DUMPMOD, dump has been modified
DUPREDSYN, cannot specify the same type of redirection syntax more than once in a command sequence
EDITDEVICE, error editing device name 'device-name'
ERLBUFTOOBIG, size of error log buffers exceeds maximum for system parameter ERLBUFFERPAGES
ERRMAPAUTH, error mapping or authenticating user
EXTAUTH, ExtAuth set for 'account'; field modification may have no effect
EXTPWDERR, password could not be set by external authenticator
FAILED, failed to set process dump priority
FILENUMCHK, file identification number check
6480P008.HTM OSSG Documentation 5-DEC-1996 13:51:02.51
Copyright © Digital Equipment Corporation 1996. All Rights Reserved.