CONTENTS Title Page Copyright Page Preface Part I Overview 1 Introduction 1.1 Capabilities and Requirements 1.1.1 Hardware Capabilities 1.1.2 Software Requirements 1.2 Development Software 1.2.1 VAXELN and VMS Development Tools 1.2.1.1 Pascal Compiler 1.2.1.2 VAXELN C, FORTRAN, and Pascal Runtime Libraries 1.2.1.3 System Builder 1.2.1.4 Steps for Preparing a VAXELN System Image 1.2.1.5 Methods for Loading and Booting a VAXELN System Image onto a Target Processor 1.2.2 Development Utilities 1.2.2.1 Debugger 1.2.2.2 Performance Utility 1.2.2.3 Display Utility 1.2.2.4 Error Logging Tools 1.2.3 VAXELN Ada Part II Creating a Program Image 2 Compiling Programs 2.1 Using the CC Command 2.2 Using the FORTRAN Command 2.3 Using the EPASCAL Command 2.4 Setting Up and Compiling Ada Programs 2.4.1 Setting Up the Ada Program Library 2.4.2 Using the VAX Ada Compiler 3 Linking a Program Image 3.1 Linking C, FORTRAN, and Pascal Programs 3.1.1 Using Qualifiers to Control the Linker 3.1.1.1 Generating Debugger Information (/DEBUG) 3.1.1.2 Linking Library Modules and Images (/INCLUDE) 3.1.1.3 Linking Libraries (/LIBRARY) 3.1.1.4 Creating a Shareable Image (/SHAREABLE) 3.1.1.5 Suppressing the Search Through Default System Libraries (/NOSYSLIB) 3.1.1.6 Suppressing the Search Through the Default Shareable Image Library (/NOSYSSHR) 3.1.2 Using VAXELN Libraries 3.1.3 Selecting the Double-Precision Floating-Point Format 3.2 Linking Ada Programs 3.2.1 Including Object Modules from Other Libraries 3.2.2 Using the ACS EXPORT Command 4 Maintaining Libraries 4.1 Using the LIBRARY Command 4.2 Using Qualifiers to Control the Librarian 4.2.1 Compressing a Library (/COMPRESS) 4.2.2 Creating a New Library (/CREATE) 4.2.3 Deleting Modules from a Library (/DELETE) 4.2.4 Extracting and Renaming Modules from a Library (/EXTRACT and /OUTPUT) 4.2.5 Inserting or Replacing Modules in an Existing Library (/INSERT and /REPLACE) 4.2.6 Displaying a Library's Contents (/LIST) 4.2.7 Creating a Shareable Image Library (/SHARE) Part III Building a System Image 5 System Building Overview 5.1 Output Files Generated by the System Builder 5.2 System Builder Menus 5.3 Steps Taken by the System Builder 6 Invoking the System Builder 6.1 Using the EBUILD Command 6.2 Using Qualifiers to Control the System Builder 6.2.1 Generating a System Map (/MAP, /FULL, /BRIEF) 6.2.2 Generating a System Image Without Entering Edit Mode (/NOEDIT) 6.2.3 Specifying an Alternative Kernel Image File (/KERNEL) 6.2.4 Suppressing Display of Informational Messages (/NOLOG) 6.2.5 Specifying a Name for the System Image File (/SYSTEM) 6.3 Using Your Own Versions of VAXELN Images 6.4 Editing System Builder Menus 6.5 Using the Main Menu 7 Selecting a Target Processor 8 Editing System Characteristics 8.1 Specifying a System Image 8.2 Selecting Debugger Support 8.3 Selecting Console Support 8.4 Selecting Instruction Emulation Software 8.5 Choosing a Boot Method 8.6 Supplying Disk Specifications and Volume Names 8.7 Specifying Shareable Images for Dynamic Loading 8.8 Specifying the Maximum Number of Jobs 8.9 Specifying the Maximum Number of Subprocesses 8.10 Specifying the Maximum Number of Message Ports 8.11 Specifying a Pool Size 8.12 Specifying the Size of the Program Region 8.13 Specifying the Size of the Control Region 8.14 Specifying the Size of the Interrupt Stack 8.15 Specifying the Size of the System Region 8.16 Specifying the Amount of Space for Dynamically Loaded Programs 8.17 Specifying a Region of Memory for Dynamically Loading Programs 8.18 Specifying a Time Interval for Interval Timer Interrupts 8.19 Specifying a Connect Time 8.20 Specifying a Physical Memory Limit 8.21 Including Support for the VAXELN Performance Utility 8.22 Optimizing Q22-bus Interrupts 8.23 Selecting the Job Preemption Scheme 8.24 Including the Shareable Status Text Files 8.25 Specifying Parameters for User-Written Code for rtVAX 300 Systems 9 Editing DECnet and Network Utilities Characteristics 9.1 Specifying DECnet Node Service 9.2 Specifying the Universal Name Service 9.3 Including the File Access Listener 9.4 Selecting an Ethernet Controller Type 9.5 Specifying a Node Name 9.6 Specifying a Node Address 9.7 Including Support for the Authorization Service 9.8 Specifying Authorization Service Support 9.9 Specifying an Authorization File 9.10 Specifying a Default UIC 9.11 Enabling Down-Line Loading Triggers 9.12 Specifying a Network Segment Size for Messages 9.13 Including Support for the Remote Terminal Utility 9.14 Including Support for the LAT Host Services 10 Editing Internet Service Characteristics 10.1 Editing the Internet Characteristics 10.1.1 Including Internet Services 10.1.2 Specifying the Size of the ARP Cache 10.1.3 Specifying the Size of the Routing Table 10.1.4 Specifying Maximum Internet Datagram Size 10.1.5 Specifying a Default Gateway 10.1.6 Specifying the Segment Size 10.1.7 Specifying a Default Size for the Sliding Window 10.1.8 Specifying the Maximum Sliding Window Size 10.1.9 Specifying a Connect Time 10.1.10 Specifying a Linger Time 10.1.11 Specifying the Initial Keep-Alive Time 10.1.12 Specifying the Keep-Alive Time 10.1.13 Specifying the Keep-Alive Count 10.1.14 Including Telnet Inbound 10.2 Editing the Internet Network Description 10.2.1 Specifying the Controller Device for Telnet 10.2.2 Specifying the Internet Address 10.2.3 Specifying the Internet Network Mask 10.2.4 Specifying the Broadcast Address for the Target System 10.2.5 Selecting the Internet Address Resolution Method 10.2.6 Specifying Determination of the Internet Mask 10.2.7 Specifying the Internet Address Rebroadcasting Wait Interval 10.2.8 Specifying the Internet Mask Rebroadcasting Wait Interval 11 Editing Program Descriptions 11.1 Specifying the Name of the Program Image 11.2 Starting with the Debugger 11.3 Creating a Job When the System Starts 11.4 Specifying Initialization 11.5 Specifying Kernel Mode or User Mode 11.6 Specifying the Size of the User Stack 11.7 Specifying the Size of the Kernel Stack 11.8 Specifying the Job Priority of the Program 11.9 Specifying the Initial Process Priority 11.10 Specifying the Maximum Number of Messages That Can Be Queued 11.11 Specifying an Exception in Case of a Power Failure 11.12 Specifying Program Arguments 12 Editing Device Descriptions 12.1 Specifying a Name for the Device 12.2 Specifying the Address of the First Control/Status Register 12.3 Specifying the Vector Address of the System Control Block 12.4 Specifying Device Interrupt Priority 12.5 Specifying the XMI bus number 12.6 Specifying the VAXBI Bus Number or the XMI Node Number 12.7 Specifying the VAXBI or UNIBUS Node Number 12.8 Automatically Including a Device Driver Image 12.9 Specifying the Driver to be Automatically Loaded for the Device 12.10 Specifying Network Controller Status 12.11 Specifying Interrupt CPU(s) in a Tightly Coupled System 12.12 Specifying a Device-Dependent Parameter 13 Editing Terminal Descriptions 13.1 Specifying the Name of a Terminal 13.2 Specifying the Type of a Terminal Controller 13.3 Specifying the Baud Rate 13.4 Enabling Parity Checking on the Terminal 13.5 Selecting the Parity Type for a Terminal 13.6 Selecting the Display Type for a Terminal 13.7 Enabling Escape Sequence Recognition 13.8 Enabling Echoing on the Terminal 13.9 Enabling the Passing of All Characters from the Terminal 13.10 Selecting Use of 8-Bit Characters 13.11 Enabling Use of ECL at the Terminal 13.12 Enabling a Modem 13.13 Specifying Use of the Digital Data Communications Message Protocol 14 Editing Console Characteristics 14.1 Selecting the Display Type 14.2 Specifying Escape Sequence Recognition 14.3 Specifying Echo on the Terminal 14.4 Passing Control Characters 14.5 Specifying 8-Bit ASCII Characters 14.6 Selecting ECL for the Console Terminal 15 Editing Error Log Characteristics 15.1 Specifying the Type of Error Logging 15.2 Specifying the Number of Pages for Error Log Buffers 15.3 Selecting the Location of the Error Log 16 Editing DECwindows Characteristics 16.1 Editing the DECwindows Server Characteristics Menu 16.1.1 Including the DECwindows Server Image 16.1.2 Identifying the Graphics Device 16.1.3 Specifying the Terminal 16.1.4 Identifying the Pointer Device 16.1.5 Specifying the Style of Mouse Pointer Motion 16.1.6 Specifying the Location of the Font Files 16.1.7 Including Memory-Resident Fonts 16.1.8 Specifying the Text Font 16.1.9 Specifying the Cursor Font 16.1.10 Specifying the Directory for the Keyboard Map File 16.1.11 Specifying the Name of the Keyboard Map File 16.1.12 Restricting Access to the Application 16.1.13 Specifying the Image Density on the Monitor 16.1.14 Enabling Color for the Monitor 16.1.15 Specifying Screen Resolution for the X Axis 16.1.16 Specifying Screen Resolution for the Y Axis 16.1.17 Specifying the Screen Saver Timeout Value 16.1.18 Enabling the Auto Repeat Feature for the Keyboard 16.1.19 Enabling the Key-Click Feature 16.1.20 Enabling the Bell Feature 16.1.21 Specifying the Size of the Communicaton Buffer for the DECwindows Server 16.1.22 Specifying the Number of Buffers for DECwindows Server Local Communication 16.1.23 Specifying the Number of Buffers for DECwindows Server Remote Communication 16.2 Terminal Descriptions for VAXstation 2000 or 3100 Series Keyboard and Pointer 16.3 Editing the DECwindows Console Emulator Characteristics Menu 16.3.1 Specifying the Name of the Display for the Console Emulator Window 16.3.2 Specifying the Width of the Console Emulator Window 16.3.3 Specifying the Page Length of the Console Emulator Window 16.3.4 Selecting the Font Size for the Console Emulator Window 16.3.5 Specifying Support for a VT300 Series Terminal 16.4 Editing the DECwindows Terminal Emulator Characteristics Menu 16.4.1 Specifying the Name of the Display for the Terminal Emulator Window 16.4.2 Specifying the Width of the Terminal Emulator Window 16.4.3 Specifying the Length of the Terminal Emulator Window 16.4.4 Selecting the Font Size for the Terminal Emulator Window Part IV Loading and Booting a System Image 17 Down-Line Loading from VMS Systems 17.1 Preliminary Steps 17.1.1 Step 1-Installing Communication Hardware on the Target Processor 17.1.2 Step 2-Configuring a VMS Development System for Down-Line Loading 17.1.3 Step 3-Adding the Target Processor to the VMS Development System's Network Node Database 17.1.4 Step 4-Configuring and Installing the Bootstrap Loader 17.1.4.1 VAX 8500 Series, 8700, and 8800 Bootstrap Setup 17.1.4.2 VAX 6000 Model nnn Series and 8200 Series Bootstrap Setup 17.1.4.3 VAX-11/7 nn Bootstrap Setup 17.1.5 Command Procedures for Down-Line Loading the VAX 9000 System 17.2 Down-Line Loading Procedure 17.2.1 VAX 9000 System Down-Line Loading 17.2.1.1 Down-Line Loading the VAX 9000 System Manually 17.2.1.2 Down-Line Loading the VAX 9000 System with a Default Boot Command Procedure 17.2.2 Reloading a Processor That Is Running the DECnet Service 17.2.3 Reloading or Trigger Booting Before Initializing 17.2.4 Down-Line Loading During Debugging 17.2.5 Reloading Production Processors 17.2.6 Considerations for Use of Multiple VMS Load Hosts 18 Down-Line Loading from VAXELN Systems 18.1 Step 1-Building the Down-Line Load Service program into an Application 18.2 Step 2-Supplying Down-Line Load Service Program Arguments 18.3 Step 3-Activating the Down-Line Load Service Program at Runtime 19 Down-Line Loading from ULTRIX Systems 19.1 Step 1-Setting Up the ULTRIX System as a Boot Host 19.2 Step 2-Adding VAXELN Target Processors to the Boot Host's Network Database 19.3 Step 3-Moving VAXELN System Images to the ULTRIX Boot Host 19.4 Step 4-Down-Line Loading the VAXELN System Image 20 Booting VAXELN Systems from Disk or Tape 20.1 Booting from Removable Disk or Tape 20.1.1 Size Limits for System Images that Can Be Loaded and Booted 20.1.2 Booting the VAX 9000 System 20.1.2.1 Booting the VAX 9000 System Manually 20.1.2.2 Booting the VAX 9000 System with DEFBOO.CMD 20.1.2.3 Emergency Shutdown for the VAX 9000 System with CRASH 20.1.3 Booting the VAX 8500, 8700, and 8800 Systems 20.1.4 VAXELN System Initialization Display 20.2 Booting from Nonremovable Disks with VMB in ROM 20.3 Booting from Nonremovable Disks Without VMB in ROM A Full System Map B Building and Loading Requirements for Multiprocessor Support B.1 Building a Closely Coupled Multiprocessing System B.1.1 System Builder Requirements for a Primary System B.1.2 System Builder Requirements for a Secondary System B.2 Loading a Secondary System C System Builder Requirements for the Virtual-Memory Disk Driver D VAX-11/750 Microcode Patch EXAMPLES 8-1 Shareable Status Text Example 17-1 Typical VAX 9000 Configuration Information 18-1 Activating the Down-Line Load Service Program 20-1 Typical VAX 9000 Configuration Information FIGURES 1 A Reader's Map for This Manual 1-1 Development System/Target System Relationship 1-2 Preparing a VAXELN System Image for C, FORTRAN, or Pascal Programs 1-3 Commands for Pascal, C, and FORTRAN Program Development 1-4 Preparing a VAXELN System Image for Ada Programs 5-1 VAXELN System Image 6-1 Main Menu 7-1 Target Processor Menu 8-1 System Characteristics Menu 9-1 DECnet and Network Utilities Characteristics Menu 10-1 Internet Service Characteristics Menu 10-2 Internet Characteristics Menu 10-3 Internet Network Description Menu 11-1 Program Description Menu 12-1 Device Description Menu 13-1 Terminal Description Menu 14-1 Console Characteristics Menu 15-1 Error Log Characteristics Menu 16-1 DECwindows Server Characteristics Menu 16-2 DECwindows Console Emulator Characteristics Menu 16-3 DECwindows Terminal Emulator Characteristics Menu A-1 Full System Map TABLES 1-1 VAXELN and VMS Development Tools 3-1 LINK Command Qualifiers 3-2 VAXELN Runtime Libraries 4-1 LIBRARY Command Qualifiers 5-1 Elements of a System Image 6-1 EBUILD Command Qualifiers 6-2 Menu Commands 6-3 Menu Control Keys 7-1 Target Processors 9-1 Network Devices 9-2 Program Description Menu Responses for Datalink Device Drivers 9-3 Network Node Address Formats 12-1 Q22-bus Device Information 12-2 UNIBUS Device Information 12-3 VAXBI Bus Device Information 12-4 XMI Device Information 12-5 Integral-Bus Device Information 13-1 Terminal Types 16-1 Recommended Terminal Description Menu Values for the VAXstation 2000 or 3100 Series Keyboard 16-2 Display Name Components for DECwindows Displays-Terminal 16-3 Display Name Components for DECwindows Displays-Console 17-1 Datalink Device Default Addresses 17-2 Configuration Information for Down-Line Loading 17-3 Files on the P/OS Diskette in the Console Directory for Down-Line Loading 17-4 VAX 6000 System Patch Levels with a DEBNI Adapter 17-5 VAX 6000 System Patch Levels with a DEMNA Adapter 17-6 Console Boot Commands for Down-Line Loading 17-7 Boot Command Qualifiers for Down-Line Loading the VAX 9000 17-8 Code Strings for Default Boot on the Network 17-9 Symbols for VMS Load Host Processors 18-1 VAXELN Down-Line Load Service Routines 18-2 Typical Down-Line Load Service Program Description 19-1 ULTRIX Host Circuit Service Designations 20-1 Boot Commands for Possible Target Systems 20-2 System Image Size Limits 20-3 Boot Command Qualifiers for Booting the VAX 9000 from Disk 20-4 Boot Command Procedures for the VAX 9000 Computer C-1 Virtual Memory Disk-Program Description Menu Values