HP OpenVMS Systems Documentation

Content starts here

OpenVMS Alpha Guide to 64-Bit Addressing and VLM Features


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Introduction
Chapter 2 Overview of Virtual Address Space
Chapter 3 System Services Support for 64-Bit Addressing
Chapter 4 Memory Management VLM Features
Chapter 5 RMS Interface Enhancements for 64-Bit Addressing
Chapter 6 File System Support for 64-Bit Addressing
Chapter 7 OpenVMS Alpha Device Support for 64-Bit Addressing
Chapter 8 OpenVMS Alpha 64-Bit API Guidelines
Chapter 9 OpenVMS Alpha Tools and Utilities That Support 64-Bit Addressing
Chapter 10 Language and Pointer Support for 64-Bit Addressing
Chapter 11 DEC C RTL Support for 64-Bit Addressing
Chapter 12 MACRO--32 Programming Support for 64-Bit Addressing
Appendix A C Macros for 64-Bit Addressing
Appendix B MACRO-32 Macros for 64-Bit Addressing
Appendix C 64-Bit Example Program
Appendix D VLM Example Program
  Index
  Figures
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Introduction
     1.1     Using 64-Bit Addresses
     1.2     Using VLM Features
Chapter 2
2 Overview of Virtual Address Space
     2.1     Traditional OpenVMS 32-Bit Virtual Address Space Layout
     2.2     OpenVMS Alpha 64-Bit Virtual Address Space Layout
         2.2.1         Process-Private Space
         2.2.2         System Space
         2.2.3         Page Table Space
         2.2.4         Virtual Address Space Size
     2.3     Virtual Regions
         2.3.1         Regions Within P0 Space and P1 Space
         2.3.2         64-Bit Program Region
         2.3.3         User-Defined Virtual Regions
Chapter 3
3 System Services Support for 64-Bit Addressing
     3.1     System Services Terminology
     3.2     System Services That Support 64-Bit Addresses
     3.3     Sign-Extension Checking
     3.4     Language Support for 64-Bit System Services
     3.5     NEW STARLET Definitions for C
Chapter 4
4 Memory Management VLM Features
     4.1     Overview of VLM Features
     4.2     Memory-Resident Global Sections
     4.3     Fast I/O and Buffer Objects for Global Sections
         4.3.1         Comparison of $QIO and Fast I/O
         4.3.2         Overview of Locking Buffers
         4.3.3         Overview of Buffer Objects
         4.3.4         Creating and Using Buffer Objects
     4.4     Shared Page Tables
         4.4.1         Memory Requirements for Private Page Tables
         4.4.2         Shared Page Tables and Private Data
     4.5     Expandable Global Page Table
     4.6     Reserved Memory Registry
         4.6.1         Using the Reserved Memory Registry
             4.6.1.1             Reserved Memory Registry Data File
             4.6.1.2             AUTOGEN
             4.6.1.3             Adding Entries to the Reserved Memory Registry
         4.6.2         Removing Entries from the Reserved Memory Registry
             4.6.2.1             Allocating Reserved Memory
             4.6.2.2             Freeing Reserved Memory
             4.6.2.3             Displaying Reserved Memory
             4.6.2.4             Using Reserved Memory
             4.6.2.5             Returning Reserved Memory
         4.6.3         Application Configuration
Chapter 5
5 RMS Interface Enhancements for 64-Bit Addressing
     5.1     RAB64 Data Structure
     5.2     Using the 64-Bit RAB Extension
     5.3     Macros to Support User RAB Structure
Chapter 6
6 File System Support for 64-Bit Addressing
Chapter 7
7 OpenVMS Alpha Device Support for 64-Bit Addressing
     7.1     $QIO Support for 64-Bit Addresses
     7.2     OpenVMS Drivers Supporting 64-Bit Addresses
     7.3     Function Codes that Support 64-Bit Addresses
     7.4     64-Bit IO$_DIAGNOSE Function for SCSI Class Drivers
         7.4.1         64-Bit S2DGB Example
Chapter 8
8 OpenVMS Alpha 64-Bit API Guidelines
     8.1     Quadword/Longword Argument Pointer Guidelines
     8.2     Alpha/VAX Guidelines
     8.3     Promoting an API from a 32-Bit API to a 64-Bit API
     8.4     Example of a 32-Bit Routine and a 64-Bit Routine
Chapter 9
9 OpenVMS Alpha Tools and Utilities That Support 64-Bit Addressing
     9.1     OpenVMS Debugger
     9.2     OpenVMS Alpha System-Code Debugger
     9.3     Delta/XDelta
     9.4     LIB$ and CVT$ Facilities of the OpenVMS Run-Time Library
     9.5     Watchpoint Utility
     9.6     SDA
Chapter 10
10 Language and Pointer Support for 64-Bit Addressing
Chapter 11
11 DEC C RTL Support for 64-Bit Addressing
     11.1     Using the DEC C Run-Time Library
     11.2     Obtaining 64-Bit Pointers to Memory
     11.3     DEC C Header Files
     11.4     Functions Affected
         11.4.1         No Pointer-Size Impact
         11.4.2         Functions Accepting Both Pointer Sizes
         11.4.3         Functions with Two Implementations
         11.4.4         Functions Restricted to 32-Bit Pointers
     11.5     Reading Header Files
Chapter 12
12 MACRO--32 Programming Support for 64-Bit Addressing
     12.1     Guidelines for 64-Bit Addressing
     12.2     New and Changed Components for 64-Bit Addressing
     12.3     Passing 64-Bit Values
         12.3.1         Calls with a Fixed-Size Argument List
             12.3.1.1             Usage Notes for $SETUP_CALL64, $PUSH_ARG64, and $CALL64
         12.3.2         Calls with a Variable-Size Argument List
     12.4     Declaring 64-Bit Arguments
         12.4.1         Usage Notes for QUAD_ARGS
     12.5     Specifying 64-Bit Address Arithmetic
         12.5.1         Dependence on Wrapping Behavior of Longword Operations
     12.6     Sign Extending and Checking
     12.7     Alpha Instruction Built-ins
     12.8     Calculating Page-Size Dependent Values
     12.9     Creating and Using Buffers in 64-Bit Address Space
     12.10     Coding for Moves Longer Than 64 KB
     12.11     Using the MACRO--32 Compiler


Previous Next Contents Index