[Info-vax] VAX VMS going forward

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Jul 29 11:32:00 EDT 2020


On 2020-07-29 06:03:00 +0000, John Dallman said:

> Nowadays, 4GB is far too restrictive, so confining ourselves to P0 
> would be impractical...
> 
> Can anyone point me to documentation about how malloc32 and malloc64 
> relate to P0, P1 and P2?

Not what's really necessary, IMNSHO. Not in any one spot. Closest is 
the Guide to 64-bit Addressing manual, and the OpenVMS Programming 
Concepts manual.

OpenVMS app code lives in P0 30-bit space, and stack and data lives in 
P1 30-bit space, and app data can live in P0, or in P1, or in P2 62-bit 
user space.

P0 and P1 space are directly hauled over from OpenVMS VAX. Together P0 
and P1 comprise the lower half of 32-bit space.

P2 space arrived with OpenVMS Alpha V7.0. P2 is the lower half of 
64-bit space, less P0 and P1 space.

Basically, 30-bit apps with 62-bit data are feasible. An app built 
without regard to P0 and P1 really isn't. And an app necessarily with 
more than 30 bits of executable code is... interesting.

The OpenVMS system and product APIs are a mix of 32-bit, 64-bit, and 
either-bit interfaces.

Above ignores that existing OpenVMS virtual addresses are limited to 50 
bits significant. Looking ahead, x86-64 is either 48- or 54-bit 
virtual, addressing depending on whether the particular x86-64 
processor and operating system supports four-level or five-level page 
tables. VSI hasn't indicated which they're supporting.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list