[Info-vax] VAX VMS going forward

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Fri Jul 24 17:33:15 EDT 2020


On 2020-07-24 12:38:04 +0000, Simon Clubley said:

> On 2020-07-23, Stephen Hoffman <seaohveh at hoffmanlabs.invalid> wrote:
>> On 2020-07-23 17:38:33 +0000, Simon Clubley said:
>>> P1 space would also be right in the way of a flat 64-bit addressing 
>>> mode so all the code which uses P1 space would have to be rewritten to 
>>> support flat 64-bit addresses because P1 space would have to be moved 
>>> well out of the way.
>> 
>> P0 and P1 space and S0 and S1 space are for VAX compatibility within 
>> apps and app source code.
> 
> P1 space is a little more than that. :-)

I disagree.

> It's where DCL and the associated data structures live.

Yes. Which is a design holdover from VAX virtual memory addressing, and 
the longstanding OpenVMS fondness for using user-mode rundown as a 
cleanup mechanism.

If flat 64-bit addressing were designed to "park" DCL and control 
structures at some designated offset circa 2^63-1 for instance, off we 
go. That's approximately the VAX design, address-extended. Or park a 
64-bit (~P2) pointer in the 64-bit system space ~S2 PCB or PHB for that 
matter, and use that to find the formerly-P1 DCL data.

> How much work would be involved in moving what is currently in P1 space 
> to somewhere up the 64-bit memory map to just below where the kernel is 
> mapped ?

That's little different than what would necessarily happen with P0, S0, 
and S1 space contents, to move to flat addressing.

> For one example, how much of the P1 code and data structures are still 
> 32-bit only ?

DCL is comparatively less concerning than all the 32-bit apps that are 
dependencies, as DCL can be fixed.

> That would mean as well that you would have P1 data cells with 
> different locations on the system depending on whether you are running 
> in 32-bit or 64-bit mode.

That's at the core of having processes with 32-/64-bit hybrid running 
alongside processes using flat 64-bit, for the duration of the 
transition.

The system-space address windows lurking in P1 space would need to be 
addressed, too.

> There's also the question of whether flat 64-bit addresses are a 
> process level attribute or an image level attribute. Think about what 
> that means for P1 space as well as for mixing 32-bit and 64-bit 
> applications in the same process space.

It's necessarily both process space and executable code supporting 
64-bit while running 64-bit process space.

Also the compilers, and the libraries, and the linker, and third-party 
apps. Etc.

There's a reason the 32-/64-bit design was chosen.

Superseding the V7.0 32-/64-bit hybrid design would be no small effort. 
And I don't foresee work toward flat 64-bit addressing happening at VSI 
any time soon, either.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list