Document revision date: 9 May 2001 | |
Previous | Contents | Index |
V7.1
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 both to using the ISACFG utility
from the console and to using the new file-based autoconfiguration
method for loading device drivers (as described in OpenVMS System Manager's Manual, Volume 1: Essentials).
7.10 Required Change in ISA_CONFIG.DAT on AlphaStation 200/400
V7.1
Customers configuring ISA devices on AlphaStation 200/400 Family systems must change their SYS$MANAGER:ISA_CONFIG.DAT file, so that the node information for each device appears at the end of each device description block.
For upgrades from OpenVMS Version 6.2 or 7.0 systems, this change must be made before starting the upgrade procedure. |
The following table shows the changes to the device description block.
Before Version 7.1 | After Version 7.1 |
---|---|
[AUA0] | [AUA0] |
NAME=AU | NAME=AU |
NODE=3 | DRIVE=SYS$MSBDRIVER |
DRIVER=SYS$MSBDRIVER | IRQ=9 |
IRQ=9 | DMA=(0,1) |
DMA=(0,1) | PORT=(388:4,530:8) |
PORT=(388:4.530:8) | NODE=3 |
Customers using SYS$MANAGER:ISA_CONFIG.DAT files should read
Section 7.9.
7.11 Memory Holes on AlphaServer 4100 Systems
V7.1
Physical memory holes may exist on AlphaServer 4100 systems. As illustrated in Figure 7-1, there are three different sizes of memory daughter card pairs: 512 MB, 256 MB, and 128 MB. In accordance with AlphaServer 4100 systems configuration rules, memory card pairs must be arranged in descending order of size.
The AlphaServer 4100 hardware reads the first set of memory daughter cards and assumes that any memory card pairs that follow are the same size. Memory holes occur because memory card pairs following the first set of cards read by the hardware may not be the same size. As shown in Figure 7-1, the hole at 3000.0000 must be dealt with by OpenVMS. The hole at 4800.0000 is at the top of the address space and can be ignored by OpenVMS.
Previous versions of OpenVMS Alpha did not efficiently support systems with physical memory holes and ultimately led to an inefficient use of system memory. The memory management data structures in OpenVMS Alpha Version 7.1 and later have been slightly modified to recognize the memory holes. As a result, inefficiencies in previous versions of the OpenVMS Alpha operating system have been eliminated. |
Figure 7-1 Example Memory Diagram
Note that this configuration impacts the algorithm used to determine whether a driver needs to use map registers. In releases prior to OpenVMS Alpha Version 7.1, device drivers do the following:
The mmg$gl_memsize global cell does not contain the memory hole. As a result, the system has only 7/8 GB of memory, but according to the algorithm in releases prior to OpenVMS Alpha Version 7.1, it appears that the device can use the direct DMA window. Yet there is 128 MB of memory beyond the 1 GB border, which requires that the drivers use map registers. To eliminate this problem, drivers using the algorithm in releases prior to OpenVMS Alpha Version 7.1 must substitute it with the following algorithm:
int dma_size; int pages; status = IOC$NODE_DATA (crb, IOC$K_DIRECT_DMA_SIZE, &dma_size); /* dma_size contains the number of megabytes. * convert number of megabytes to bytes. */ dma_size = dma_size * (1024 * 1024); /* Convert number of bytes to number of pages by * dividing by number of bytes per page. */ pages = dma_size / MMG$GL_PAGE_SIZE; |
The driver for the Microsoft Windows Sound System ISA sound card (MSB), SYS$MSBDRIVER, has been removed from the OpenVMS Alpha distribution as of Version 7.0. The following files have been removed:
An enhanced version of this driver, called MMOV$MSBDRIVER, is included in Multimedia Services Version 2.0 for OpenVMS Alpha. This layered product also includes support for video capture and playback, an enhanced version of DECsound, and other audio and video applications.
MMOV$MSBDRIVER provides the same $QIO programming interface as
SYS$MSBDRIVER. Compaq recommends that the WAVE Applications Programming
Interface provided by Multimedia Services for OpenVMS be used instead
because it is more flexible and is portable to other platforms.
(Multimedia Services Version 2.0 for OpenVMS is described in SPD
64.24.00.)
7.13 Device IPL Setup for OpenVMS Alpha Drivers
V6.2
Alpha hardware platforms that support PCI, EISA, and ISA buses deliver I/O device interrupts at different IPLs, either 20 or 21. The IPL at which device interrupts are delivered can change if you move the device from one platform to another. This is a problem if the driver declares its device IPL to be 20, and then that driver is executed on a machine that delivers I/O device interrupts at IPL 21.
The simplest solution to this problem is for PCI, EISA, and ISA device drivers to use IPL 21. This works correctly on platforms that deliver I/O device interrupts at IPL 20 and on platforms that deliver I/O device interrupts at IPL 21.
A future release of OpenVMS Alpha may provide a platform-independent
mechanism for drivers to determine the device IPL dynamically.
7.14 AlphaStation 255: PCI Configuration Restriction
V7.1
The OpenVMS Alpha operating system does not support PCI option cards configured in PCI slot 0 on any AlphaStation 255 series systems.
PCI slot 0 is the lowest physical PCI option slot on AlphaStation 255
series systems. The interrupt signal for this slot is shared with the
built-in Ethernet port. Because the OpenVMS Alpha operating system does
not currently permit PCI devices to share an interrupt line, a PCI
device installed in slot 0 will not function correctly or may cause
errors to occur with the built-in Ethernet port. As a result of this
restriction, AlphaStation 255 series systems support a maximum of two
PCI option cards, configured in slot 1 and slot 2.
7.15 Recommendation for RZ25M and RZ26N Disk Drives (Alpha)
V7.1
During the testing of Compaq supported SCSI disk drives on configurations with DWZZAs and long differential SCSI buses, two drives (RZ25M and RZ26N) were found to have bus phase problems. For this reason, do not use these drives in configurations where the differential bus length connecting DWZZAs equals or exceeds 20 meters.
This recommendation applies only to the RZ25M and RZ26N drives. All
other disk drives, listed as supported in the OpenVMS SPD, may be used
in configurations to the full bus lengths of the SCSI-2 specification.
7.16 SCSI Controller Restriction on AlphaServer 2100 Systems
The Adaptec 1740/1742 SCSI controller (PB2HA--SA) is not supported on AlphaServer 2100 systems having more than 1 gigabyte (GB) of memory. If the controller is connected to such a system, the following message appears on the operator's console:
%PKJDRVR-E- PKX0, Port is going OFFLINE. |
The following sections relate to SCSI firmware support.
7.17.1 Recommended Firmware Support for RZ26N and RZ28M Disks
V6.2-1H3
The minimum firmware revision level recommended for RZ26N and RZ28M disks is Revision 0568.
If the latest firmware revision level is not used with these disks,
multiple problems may occur.
7.17.2 Required Firmware for Multihost Use of RZ26L and RZ28 Disks
V6.2
If you install RZ26L or RZ28 disks on a multihost SCSI bus in an OpenVMS Cluster, the disk's minimum firmware revision is 442.
The following sections describe a procedure that can be used to update the firmware on some RZ26L and RZ28 drives. This procedure can only be used with drives that are directly connected to a SCSI adapter on a host system. Drives that are attached through an intelligent controller (such as an HSZ40 or KZPSC) cannot be updated using this procedure. Refer to the intelligent controller's documentation to determine whether an alternative firmware update procedure exists.
Only certain RZ26L and RZ28 firmware revisions can be safely upgraded to firmware revision level 442. Refer to Section 7.17.3 to determine if your disks are capable of being upgraded to firmware revision level 442. If your disk is capable of supporting firmware revision level 442, use the RZTOOLS utility that is described in Section 7.17.4 to update the disk's firmware. |
Only the combinations of disk drives and firmware revision levels listed in Table 7-3 are capable of being upgraded safely to firmware revision level 442. Performing the update procedure on any other combination can permanently damage the disk.
Disk Drive | Firmware Revision | Disk File Name |
---|---|---|
RZ26L | 440C | RZ26L_442D_DEC.FUP |
RZ28 |
441C or D41C
435 or 436 |
RZ28_442D_DEC2104.FUP
RZ28P4_442C_DEC.FUP |
If you determine that your disk requires revision level 442 firmware and it is capable of being upgraded safely, use the following procedure to update the firmware. (See Table 7-3 for the file name of the disk you are upgrading.)
$ MCR SYS$ETC:RZTOOLS_ALPHA DKB500 /LOAD=SYS$ETC:filename.FUP Read in 262144 bytes. Current FW version - X440C Upgrading to - DEC0 Loading code ...... New code has been sent to the drive. |
V6.2
The following sections describe OpenVMS Alpha SCSI class and port
device driver restrictions.
7.18.1 Add-On SCSI Adapters
V6.2
Version 6.2 and later of OpenVMS Alpha supports various add-on SCSI adapters. Compaq's AlphaGeneration platforms typically support one or more integral SCSI adapters, with the option of installing additional add-on SCSI adapters. Due to differences in device-naming conventions used between the Alpha console and OpenVMS, the OpenVMS device name may not match the name displayed by the console.
For example, the console designation for a SCSI device on the integral SCSI adapter may be DKA100. However, when two additional add-on SCSI adapters are added, the "A" designation becomes "C", and DKA100 appears as DKC100 when OpenVMS is running.
Note that although the console and OpenVMS device names may be
different, the unique specification of a device name from the console
to the device name under OpenVMS stays consistent, provided add-on SCSI
adapters are not added or removed.
7.18.2 SCSI Disk I/O Performance Degradation for KZMSA XMI and Adaptec 1742A Adapters
V6.2
As a result of the SCSI-2 Tagged Command Queuing (TCQ) support in OpenVMS Alpha Version 6.2, Compaq has determined that customers with KZMSA XMI to SCSI and Adaptec 1742A adapters may experience a 20% SCSI disk I/O performance degradation because TCQ is not implemented for these adapters. The performance degradation is in the area of increased CPU cost per I/O. Customers running at less than maximum CPU utilization under OpenVMS Alpha Version 6.1 may not experience any degradation under OpenVMS Alpha Version 6.2.
Compaq does not expect this situation to significantly affect DEC 7000 customers planning to upgrade to DEC 8000 Family systems using KZMSA adapters because the speed of those processors should offset the performance degradation. However, DEC 7000 customers who upgrade to OpenVMS Alpha Version 6.2 will experience the SCSI I/O disk performance degradation.
Compaq expects that this will significantly affect existing DEC 2000
Model 300 systems customers that use the Adaptec 1742A SCSI adapter.
7.19 OpenVMS Alpha Device Support Documentation
As of OpenVMS Version 7.2, the Writing OpenVMS Alpha Device Drivers in C manual no longer ships
with the OpenVMS documentation set. The latest revision of this manual
is available from Digital
Press.
7.20 Stricter Requirement for Mode Page 01h on SCSI Tape Drives
V7.3
OpenVMS Alpha Version 7.3 has implemented stricter requirements for SCSI Mode Page 01h (the Read Write Error Recovery Page) for SCSI tape drives. These requirements help guard against possible data loss during write operations to SCSI tape, by defining the recovery actions to be taken in the event of deferred recoverable errors. For most Compaq-supported drives, these changes will not affect the drive's behavior. For some drives, however, these new requirements may impact SCSI tape behavior in the following two ways:
The Alpha Architecture Reference Manual, Third Edition (AARM) describes strict rules for using interlocked memory instructions. The Alpha 21264 (EV6) processor and all future Alpha processors are more stringent than their predecessors in their requirement that these rules be followed. As a result, code that has worked in the past, despite noncompliance, could fail when executed on systems featuring the 21264 processor and its successors. Occurrences of these noncompliant code sequences are believed to be rare. Note that the 21264 processor is not supported on versions prior to OpenVMS Alpha Version 7.1-2.
Noncompliant code can result in a loss of synchronization between processors when interprocessor locks are used, or can result in an infinite loop when an interlocked sequence always fails. Such behavior has occurred in some code sequences in programs compiled on old versions of the BLISS compiler, some versions of the MACRO--32 compiler and the MACRO--64 assembler, and in some Compaq C and C++ programs.
The affected code sequences use LDx_L/STx_C instructions, either
directly in assembly language sources or in code generated by a
compiler. Applications most likely to use interlocked instructions are
complex, multithreaded applications or device drivers using highly
optimized, hand-crafted locking and synchronization techniques.
8.1 Required Code Checks
OpenVMS recommends that code that will run on the 21264 processor be checked for these sequences. Particular attention should be paid to any code that does interprocess locking, multithreading, or interprocessor communication.
The SRM_CHECK tool (named after the Code Management System Reference Manual, which defines the
Alpha architecture) has been developed to analyze Alpha executables for
noncompliant code sequences. The tool detects sequences that may fail,
reports any errors, and displays the machine code of the failing
sequence.
8.2 Using the Code Analysis Tool
The SRM_CHECK tool can be found in the following location on the OpenVMS Alpha Version 7.3 Operating System CD-ROM:
SYS$SYSTEM:SRM_CHECK.EXE |
To run the SRM_CHECK tool, define it as a foreign command (or use the DCL$PATH mechanism) and invoke it with the name of the image to check. If a problem is found, the machine code is displayed and some image information is printed. The following example illustrates how to use the tool to analyze an image called myimage.exe:
$ define DCL$PATH [] $ srm_check myimage.exe |
The tool supports wildcard searches. Use the following command line to initiate a wildcard search:
$ srm_check [*...]* -log |
Use the -log qualifier to generate a list of images that have been checked. You can use the -output qualifier to write the output to a data file. For example, the following command directs output to a file named CHECK.DAT:
$ srm_check 'file' -output check.dat |
You can use the output from the tool to find the module that generated the sequence by looking in the image's MAP file. The addresses shown correspond directly to the addresses that can be found in the MAP file.
The following example illustrates the output from using the analysis tool on an image named SYSTEM_SYNCHRONIZATION.EXE:
** Potential Alpha Architecture Violation(s) found in file... ** Found an unexpected ldq at 00003618 0000360C AD970130 ldq_l R12, 0x130(R23) 00003610 4596000A and R12, R22, R10 00003614 F5400006 bne R10, 00003630 00003618 A54B0000 ldq R10, (R11) Image Name: SYSTEM_SYNCHRONIZATION Image Ident: X-3 Link Time: 5-NOV-1998 22:55:58.10 Build Ident: X6P7-SSB-0000 Header Size: 584 Image Section: 0, vbn: 3, va: 0x0, flags: RESIDENT EXE (0x880) |
The MAP file for system_synchronization.exe contains the following:
EXEC$NONPAGED_CODE 00000000 0000B317 0000B318 ( 45848.) 2 ** 5 SMPROUT 00000000 000047BB 000047BC ( 18364.) 2 ** 5 SMPINITIAL 000047C0 000061E7 00001A28 ( 6696.) 2 ** 5 |
The address 360C is in the SMPROUT module, which contains the addresses from 0-47BB. By looking at the machine code output from the module, you can locate the code and use the listing line number to identify the corresponding source code. If SMPROUT had a nonzero base, you would need to subtract the base from the address (360C in this case) to find the relative address in the listing file.
Note that the tool reports potential violations in its output. Although SRM_CHECK can normally identify a code section in an image by the section's attributes, it is possible for OpenVMS images to contain data sections with those same attributes. As a result, SRM_CHECK may scan data as if it were code, and occasionally, a block of data may look like a noncompliant code sequence. This circumstance is rare and can be detected by examining the MAP and listing files.
Previous | Next | Contents | Index |
privacy and legal statement | ||
6637PRO_011.HTML |