HP OpenVMS Systems Documentation
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