This HP OpenVMS Guide, published in January 2005, assists system programmers in upgrading privileged-code applications and device drivers for OpenVMS Alpha Version 7.0 and later, and OpenVMS I64 Version 8.2. It specifically addresses source-code changes required due to:
- OpenVMS Alpha 64-bit Virtual Addressing: This involved significant changes to privileged interfaces and data structures to expand virtual address space (P0, P1, P2, S2) to 8TB and support increased physical memory.
- OpenVMS Alpha Kernel Threads Support: This introduced extended process scheduling for multi-CPU concurrency, leading to fundamental changes in the OpenVMS process structure, particularly the Process Control Block (PCB).
- OpenVMS I64 Infrastructure Changes: These include accommodating 50-bit physical addressing and changes to Page Frame Number (PFN) fields, which become 64-bit on I64.
The guide is divided into:
- Part I: Details privileged-code changes for OpenVMS Alpha.
- Part II: Covers privileged-code changes for OpenVMS I64, encouraging common code development with Alpha.
- Appendices: Provide descriptions of I/O routines, data structures, and kernel threads routines/macros.
Key recommendations include recompiling and relinking applications to identify necessary source changes, particularly for handling 64-bit pointers, modified data structures (e.g., IRP, PCB, PFN database entries), and updated I/O and memory management routines. Non-privileged applications and OpenVMS VAX systems are not affected.