VAXELN System Development Guide

*HyperReader

  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