Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Any sufficiently advanced technology is indistinguishable from a rigged demo.


computers / comp.os.vms / Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

SubjectAuthor
* VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Jan-Erik Söderholm
+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
|`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onRichard Maher
+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
|+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
||`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86John Reagan
|| `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
|`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86John Reagan
| +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
| |`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86John Reagan
| | +- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| | +- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| | `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Mike K.
| |  `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86John Reagan
| |   `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |    +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onJohn Dallman
| |    |`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |    `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSSingle Stage to Orbit
| |     |+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Ian Miller
| |     |+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     ||+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86John Dallman
| |     ||+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSSingle Stage to Orbit
| |     ||`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onVMSgenerations working group
| |     || +- errata : all about ada is mine. I confused with my function ofGérard Calliet
| |     || `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Ian Miller
| |     |+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86plugh
| |     ||`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     || `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86plugh
| |     ||  `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     ||   `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86plugh
| |     ||    `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     ||     `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86plugh
| |     |`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86plugh
| |     | +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     | |`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86plugh
| |     | | `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     | |  `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86plugh
| |     | `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |  `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |   `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |    +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    |+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    ||+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |    |||`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    ||| +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onJohn Dallman
| |     |    ||| |`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    ||| `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    |||  `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    |||   `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    ||`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |    || |+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    || ||`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |    || || +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Jake Hamby
| |     |    || || |`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Jake Hamby
| |     |    || || +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || || |`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |    || || | +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     |    || || | |+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    || || | ||+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onCraig A. Berry
| |     |    || || | |||+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onhb
| |     |    || || | ||||`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || || | |||`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86John Reagan
| |     |    || || | ||`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     |    || || | || `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
| |     |    || || | ||  `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     |    || || | ||   `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
| |     |    || || | |`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |    || || | | `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     |    || || | +- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || || | `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    || || |  `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || || |   +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    || || |   |`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || || |   | `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onhb
| |     |    || || |   |  +- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86David Jones
| |     |    || || |   |  +- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86John Reagan
| |     |    || || |   |  `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || || |   |   `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onhb
| |     |    || || |   |    `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || || |   `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
| |     |    || || |    +* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    || || |    |+* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
| |     |    || || |    ||`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    || || |    |`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onJohn Dallman
| |     |    || || |    `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     |    || || |     `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onDave Froble
| |     |    || || |      `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     |    || || +- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     |    || || `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSJohn Dallman
| |     |    || |`- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    || `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Simon Clubley
| |     |    ||  `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    |+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSchris
| |     |    |+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Jake Hamby
| |     |    |`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Jake Hamby
| |     |    | `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Stephen Hoffman
| |     |    `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| |     `* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onArne Vajhøj
| `- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMSSingle Stage to Orbit
+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Ian Miller
+- Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS onAndrew Brehm
`* Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86Rich Jordan

Pages:12345
Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<1511f062-e320-4471-9a20-1d07016011dfn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22633&group=comp.os.vms#22633

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:6214:2aa2:b0:45a:ff4f:a656 with SMTP id js2-20020a0562142aa200b0045aff4fa656mr15591513qvb.90.1652717755824;
Mon, 16 May 2022 09:15:55 -0700 (PDT)
X-Received: by 2002:a05:622a:588:b0:2f3:bca9:ea34 with SMTP id
c8-20020a05622a058800b002f3bca9ea34mr16163580qtb.601.1652717755401; Mon, 16
May 2022 09:15:55 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Mon, 16 May 2022 09:15:55 -0700 (PDT)
In-Reply-To: <t5pe61$nsg$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:46b0:abc0:4c67:742d:72:da83;
posting-account=OGFVHQoAAAASiNAamRQec8BtkuXxYFnQ
NNTP-Posting-Host: 2600:1700:46b0:abc0:4c67:742d:72:da83
References: <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1511f062-e320-4471-9a20-1d07016011dfn@googlegroups.com>
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
From: jake.ha...@gmail.com (Jake Hamby)
Injection-Date: Mon, 16 May 2022 16:15:55 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Jake Hamby - Mon, 16 May 2022 16:15 UTC

On Saturday, May 14, 2022 at 4:32:20 PM UTC-7, Stephen Hoffman wrote:
>
> OpenVMS uses what amounts to segmented virtual addressing, and the
> OpenVMS virtual address space design ties directly back to VAX. This
> at least through OpenVMS I64, and haven't checked OpenVMS x86-64 here.
>
> VAX had P0 user space where ~all VAX user apps and user data resides,
> 00000000 to 3FFFFFFF, P1 from 40000000 to 7FFFFFFF for the control
> region and CLI and baggage, and the remainder for S0 system space, and
> later S1 for more system space with VAX Extended Virtual Addressing.
> I'll here ignore VAX Extended Physical Addressing.
>
> Each of these P0, P1, S0, and S2 spaces are 30 bits of virtual addressing..
>
> Alpha uses 64-bit virtual and always has, and preserves the existing
> VAX 32-bit design with P0 and P1 at the lowest addresses
> (00000000.00000000 to 00000000.7FFFFFFF), with S0 and S1 at the highest
> (FFFFFFFF.80000000 to FFFFFFFF.FFFFFFFF, and adds P2 and S2 into the
> great huge gap between those two ranges. OpenVMS Alpha V7.0 opened up
> user access for P2 and S2 addressing.

While reading Hunter Goatley's explanation of the VMS memory map from an old article on how to write privileged code (https://hunter.goatley.com/writing-vms-privileged-code/part-i-the-fundamentals-part-1/), I realized that the size of P0 must be the explanation for why I could only malloc() up to 950MB of memory in the memtester port I did, until I switched to using LIB$GET_VM_64() and 64-bit pointers.

I was thinking of a 32-bit UNIX memory map split 50/50 between user and kernel space. Now that I have some experience with VMS long and short pointers, the only obnoxious quirks that I've encountered so far are that main() wants to use short pointers for argv[]: you can use "/pointer_size=long=argv" to get around that, but then getopt() and friends only work with short argv pointers.

Regards,
Jake

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<d38cee0e-4fd0-4a80-bc33-33d95f2ba8e5n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22634&group=comp.os.vms#22634

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:ac8:7f43:0:b0:2f3:d55d:7296 with SMTP id g3-20020ac87f43000000b002f3d55d7296mr15954761qtk.635.1652718501456;
Mon, 16 May 2022 09:28:21 -0700 (PDT)
X-Received: by 2002:a05:622a:1051:b0:2f3:f8da:1d4a with SMTP id
f17-20020a05622a105100b002f3f8da1d4amr15957922qte.293.1652718500868; Mon, 16
May 2022 09:28:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Mon, 16 May 2022 09:28:20 -0700 (PDT)
In-Reply-To: <t5tq5l$5fi$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:46b0:abc0:4c67:742d:72:da83;
posting-account=OGFVHQoAAAASiNAamRQec8BtkuXxYFnQ
NNTP-Posting-Host: 2600:1700:46b0:abc0:4c67:742d:72:da83
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me>
<70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk>
<t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org>
<627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org>
<t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk>
<t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org>
<62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d38cee0e-4fd0-4a80-bc33-33d95f2ba8e5n@googlegroups.com>
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
From: jake.ha...@gmail.com (Jake Hamby)
Injection-Date: Mon, 16 May 2022 16:28:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3632
 by: Jake Hamby - Mon, 16 May 2022 16:28 UTC

On Monday, May 16, 2022 at 8:21:31 AM UTC-7, chris wrote:
> I can see why there is a need for 32 bit addressing for legacy reasons.
> If app code is 32 bit, it implies that VMS has some internal 32
> bit space reserved within the 64 bit total for that, probably
> via run time libraries which either output 64 bit addresses, or have
> some way of informing vms to put the code into a certain 64 bit space
> and starting address...

I think the key to understanding how VMS handles 64-bit space internally is to read about 64-bit descriptors and the new routines for manipulating them (Programming Concepts Manual, Vol I: Part IV. Appendixes: Macros and Examples of 64-Bit Programming). There's also a 64-bit "item_list_64b" (ileb_64) that you can pass to system calls in place of the 32-bit "ile3".

Between 64-bit descriptors and 64-bit item lists, OpenVMS was retrofitted to support 64-bit addressing by the mid-1990s, but it has taken many years for applications and the CRTL to catch up. Having a 32-bit long and 32-bit size_t is a big part of the portability problem, but for VMS-native programs, the 64-bit support is there.

As a side note, it's fortunate that VMS has only ever run on little-endian architectures, because it's easier to expand pointers from 32 bits to 64 bits on little-endian in a backward-compatible way, since the address of the pointer stays the same regardless of the size (any extra high-order bytes are ignored). Without this, the data structures VMS uses would probably have been even trickier to retrofit.

Jake

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<71df565a-6859-46d5-864a-8cb7383d4b8fn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22635&group=comp.os.vms#22635

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a0c:b312:0:b0:45a:a8d7:ecd6 with SMTP id s18-20020a0cb312000000b0045aa8d7ecd6mr15962080qve.100.1652719271849;
Mon, 16 May 2022 09:41:11 -0700 (PDT)
X-Received: by 2002:a05:620a:2888:b0:699:bb36:40b2 with SMTP id
j8-20020a05620a288800b00699bb3640b2mr13073728qkp.135.1652719271427; Mon, 16
May 2022 09:41:11 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Mon, 16 May 2022 09:41:11 -0700 (PDT)
In-Reply-To: <d38cee0e-4fd0-4a80-bc33-33d95f2ba8e5n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:46b0:abc0:4c67:742d:72:da83;
posting-account=OGFVHQoAAAASiNAamRQec8BtkuXxYFnQ
NNTP-Posting-Host: 2600:1700:46b0:abc0:4c67:742d:72:da83
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me>
<70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk>
<t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org>
<627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org>
<t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk>
<t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org>
<62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org> <d38cee0e-4fd0-4a80-bc33-33d95f2ba8e5n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <71df565a-6859-46d5-864a-8cb7383d4b8fn@googlegroups.com>
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
From: jake.ha...@gmail.com (Jake Hamby)
Injection-Date: Mon, 16 May 2022 16:41:11 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3491
 by: Jake Hamby - Mon, 16 May 2022 16:41 UTC

On Monday, May 16, 2022 at 9:28:22 AM UTC-7, Jake Hamby wrote:
>
> As a side note, it's fortunate that VMS has only ever run on little-endian architectures, because it's easier to expand pointers from 32 bits to 64 bits on little-endian in a backward-compatible way, since the address of the pointer stays the same regardless of the size (any extra high-order bytes are ignored). Without this, the data structures VMS uses would probably have been even trickier to retrofit.

I forgot to mention a clever quirk of the OpenVMS calling standard that surprised me when I discovered it: all architectures pass the argument count and argument types in a register (that points to memory on VAX) on function calls, so the callee knows how many arguments were passed and how. All 32-bit params are sign-extended to 64 bits (even unsigned ints).

Therefore, any library routines can be transparently extended to take 64-bit addresses as parameters, and there are also extended versions of some POSIX/C functions that take extra parameters, which the library can detect by checking the arg count. So the OS provides a form of function overloading for all supported languages, without using name mangling.

Passing the argument info to callees in %rax is one of the few changes VSI had to make to the x86-64 ELF ABI to support VMS.

Regards,
Jake

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<01ddd764-768e-40d4-9d5b-ff72a4250944n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22636&group=comp.os.vms#22636

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:620a:2903:b0:6a0:4d8f:8b88 with SMTP id m3-20020a05620a290300b006a04d8f8b88mr12890490qkp.328.1652720337753;
Mon, 16 May 2022 09:58:57 -0700 (PDT)
X-Received: by 2002:ad4:5e8e:0:b0:45b:477:892f with SMTP id
jl14-20020ad45e8e000000b0045b0477892fmr16089660qvb.124.1652720337491; Mon, 16
May 2022 09:58:57 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Mon, 16 May 2022 09:58:57 -0700 (PDT)
In-Reply-To: <t5pe61$nsg$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:46b0:abc0:4c67:742d:72:da83;
posting-account=OGFVHQoAAAASiNAamRQec8BtkuXxYFnQ
NNTP-Posting-Host: 2600:1700:46b0:abc0:4c67:742d:72:da83
References: <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <01ddd764-768e-40d4-9d5b-ff72a4250944n@googlegroups.com>
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
From: jake.ha...@gmail.com (Jake Hamby)
Injection-Date: Mon, 16 May 2022 16:58:57 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3440
 by: Jake Hamby - Mon, 16 May 2022 16:58 UTC

On Saturday, May 14, 2022 at 4:32:20 PM UTC-7, Stephen Hoffman wrote:
>
> OpenVMS is the only operating system I'm aware of that chose this
> hybrid addressing path; of both 32-bit and 64-bit APIs mixed within the
> same executable images. Most other platforms decided to allow 32-bit
> and 64-bit apps and processes to coexist in parallel. But not
> co-resident within an app at run-time. This transition usually with a
> decade or more to allow apps to be migrated to 64-bit APIs for those
> platforms that have decided to deprecate and remove the older and
> problematic 32-bit APIs. As an example, macOS 10.15 "Catalina" removed
> 32-bit app and API support, and completed the migration started back
> around 10.5 "Leopard"; a ~decade ago.

You're forgetting about IBM z/OS. It's the only OS I'm aware of that has chosen an even more painful hybrid addressing path than OpenVMS. :) They started with a 24-bit addressing mode, then in the 1990s expanded to 31 bits (not 32), with one bit reserved to indicate the addressing mode. When they launched 64-bit Z and z/OS in 2000, they added a 64-bit AMODE, for a total of three.

IBM mainframers talk about their address space in terms of a "line" (at 16MB) and a "bar" (from 2GB to 4GB). Even though z/OS has been 64-bit now for over 20 years, with each new release they're still announcing that some component's storage pool can now be allocated "above the bar" (in 64-bit space), or occasionally, for very old components, "above the line" (in 31-bit space).

For Linux on Z, this is all irrelevant, and s390x looks like any other 64-bit Linux. But for z/OS, which has to be binary compatible to run customer code dating as far back as the mid-1960s, they are very much aware of not just two, but three, different addressing modes that can be mixed within the same program. And it's big-endian, so the address of pointers will change depending on how wide they are. And z/OS has multiple calling standards for each addressing mode, with the older calling standards not even using a call stack but passing pointers to parameter blocks. Fun times.

Jake

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t5u18r$1af$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22637&group=comp.os.vms#22637

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: seaoh...@hoffmanlabs.invalid (Stephen Hoffman)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Mon, 16 May 2022 13:22:35 -0400
Organization: HoffmanLabs LLC
Lines: 44
Message-ID: <t5u18r$1af$1@dont-email.me>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me> <70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk> <8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com> <3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu> <63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: reader02.eternal-september.org; posting-host="30ace5296055842ae18e2e0060bd97f1";
logging-data="1359"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/PTAMPpbHyd1/qr6iFgEq8EiSmgSA5FOI="
User-Agent: Unison/2.2
Cancel-Lock: sha1:dl02JKbwnCaG3qj/CbeEUfXYXf8=
 by: Stephen Hoffman - Mon, 16 May 2022 17:22 UTC

On 2022-05-16 15:21:25 +0000, chris said:

> I can see why there is a need for 32 bit addressing for legacy reasons.
> If app code is 32 bit, it implies that VMS has some internal 32 bit
> space reserved within the 64 bit total for that, probably via run time
> libraries which either output 64 bit addresses, or have some way of
> informing vms to put the code into a certain 64 bit space and starting
> address...

Existing and unmodified 32-bit user apps—apps expecting P0/P1/S0/S1
virtual address references—can't receive 64-bit descriptors and 64-bit
P2 and S2 virtual addresses from other user APIs and from other
third-party APIs and from system APIs.

With data flowing across the APIs in the other direction, the designs
of some existing user and third-party system APIs can't be
transparently modified to accept 64-bit virtual addresses arriving from
the calling apps.

Which in aggregate means that these areas of user and third-party and
OpenVMS executable code and data structures either have to sometimes
"pretend" that the P2 and S2 virtual address ranges don't exist, or
need parallel 32- and 64-bit APIs, etc.

The traditional imperative APIs used within most of
OpenVMS—descriptors, PQLs, itemlists, etc—are somewhat less flexible
around these changes than would be message-passing APIs for instance,
but message-passing API designs are not commonly encountered within
OpenVMS.

For the pedants reading and pointing to message-passing
(object-oriented, OO) code on OpenVMS: my reference here is to OpenVMS
system and RTL and device driver and related APIs. This outside of C++,
Java, Python, and other such code, all off doing C++ or Java or Python
or other message-passing tooling. BASIC mostly does well here too,
though that compiler remains 32-bit. BASIC currently
non-message-passing and probably should be updated to provide
message-passing support, too. But I digress.

--
Pure Personal Opinion | HoffmanLabs LLC

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t5u33q$fdk$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22640&group=comp.os.vms#22640

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: seaoh...@hoffmanlabs.invalid (Stephen Hoffman)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Mon, 16 May 2022 13:54:02 -0400
Organization: HoffmanLabs LLC
Lines: 59
Message-ID: <t5u33q$fdk$1@dont-email.me>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me> <70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk> <8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com> <3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu> <63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me> <01ddd764-768e-40d4-9d5b-ff72a4250944n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: reader02.eternal-september.org; posting-host="30ace5296055842ae18e2e0060bd97f1";
logging-data="15796"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+1NjnpcRwVJeR+MuHaAIy0PFGJprnAfx8="
User-Agent: Unison/2.2
Cancel-Lock: sha1:qPwPAEaSWXuNAC4wBBU5eRVYQOs=
 by: Stephen Hoffman - Mon, 16 May 2022 17:54 UTC

On 2022-05-16 16:58:57 +0000, Jake Hamby said:

> On Saturday, May 14, 2022 at 4:32:20 PM UTC-7, Stephen Hoffman wrote:
>>
>> OpenVMS is the only operating system I'm aware of that chose this
>> hybrid addressing path; of both 32-bit and 64-bit APIs mixed within the
>> same executable images. Most other platforms decided to allow 32-bit
>> and 64-bit apps and processes to coexist in parallel. But not
>> co-resident within an app at run-time. This transition usually with a
>> decade or more to allow apps to be migrated to 64-bit APIs for those
>> platforms that have decided to deprecate and remove the older and
>> problematic 32-bit APIs. As an example, macOS 10.15 "Catalina" removed
>> 32-bit app and API support, and completed the migration started back
>> around 10.5 "Leopard"; a ~decade ago.
>
> You're forgetting about IBM z/OS.

I try. 😉

Though I do well recall a brace of
dapper-jumpsuit-over-dapper-three-piece-suit-wearing technicians with
their ever-dapper briefcases yelling at each other in the server room.

And escorting the customer expectations management representatives out
of the office, with a request that IBM let me know when the service
tech and the parts would arrive, and to not show up before then as we
didn't need somebody sitting in the lobby reading magazines and I
wasn't going to delegate a developer or an operator to watch over the
IBM rep due to visitor security policies.

Oh, and that a pocket comb worked as well as the official IBM mainframe
chassis-accessing tool. 🤫

That site was not the usual IBM customer.

In the previous millennium, DEC spent a whole lot of time and focus
chasing after IBM from below (e.g. VAX 9000), and missed the rest of
the market "sneaking up" on DEC.

As for upward compatibility, sure, IBM has long had a better story. IBM
was also front and center in most of computing into the 1990s, with z
and 36/38/i series and particularly then with x series and the 5150,
and that all until their x series business was sold off. Now? IBM? Not
so central. In various ways, much like OpenVMS. For the existing IBM
installed base, z series sure, and 36/38/i series, while the future of
i and p series hardware looks way too much like Alpha or Itanium for my
preferences. The last posting here from a confused MVS user was some
time ago, too.

TL;DR: Whether IBM did something similar to the current mixture of 32-
and 64-bit APIs and segmented addressing and such found on OpenVMS, I
don't know.

--
Pure Personal Opinion | HoffmanLabs LLC

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t5u4s0$13f$6@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22646&group=comp.os.vms#22646

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: club...@remove_me.eisner.decus.org-Earth.UFP (Simon Clubley)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Mon, 16 May 2022 18:24:00 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <t5u4s0$13f$6@dont-email.me>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me> <70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk> <8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com> <3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu> <63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me>
Injection-Date: Mon, 16 May 2022 18:24:00 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="97fed6b6ab737e743b9d651c1a08a27e";
logging-data="1135"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18jIXj54aiCTgFVAxxmGRUWfL5POA+Re50="
User-Agent: slrn/0.9.8.1 (VMS/Multinet)
Cancel-Lock: sha1:VvQuVSLxYUCAQhA5p3TKHB2P/DA=
 by: Simon Clubley - Mon, 16 May 2022 18:24 UTC

On 2022-05-15, Stephen Hoffman <seaohveh@hoffmanlabs.invalid> wrote:
>
> Once y'all use a flat 64-bit address space and APIs, the existing and
> hybrid memory management compatibility-focused design starts to smell
> vaguely of TKB.
>

The VMS 64-bit design comes across as a technical debt situation where,
given the nature of VMS application code, the "easier" approach was taken
initially at the expense of long-term maintenance and additional coding
work to deal with that decision.

Simon.

--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<62829d22$0$705$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22648&group=comp.os.vms#22648

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!news.swapon.de!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Mon, 16 May 2022 14:51:14 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.0
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Content-Language: en-US
Newsgroups: comp.os.vms
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me>
<70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com>
<62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com>
<51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com>
<627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me>
<dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com>
<t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk>
<t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
<6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me>
<t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk>
<t5tq5l$5fi$1@gioia.aioe.org>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <t5tq5l$5fi$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 104
Message-ID: <62829d22$0$705$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 3ac99897.news.sunsite.dk
X-Trace: 1652727074 news.sunsite.dk 705 arne@vajhoej.dk/68.9.63.232:56843
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Mon, 16 May 2022 18:51 UTC

On 5/16/2022 11:21 AM, chris wrote:
> On 05/16/22 00:23, Arne Vajhøj wrote:
>> On 5/15/2022 7:15 PM, chris wrote:
>>> I think that sort of info is what I was driving at. So used to flat
>>> address spaces these days, it's difficult to imagine anything else, but
>>> it does look like VMS has plenty of space to play with, even if
>>> segmented in some way...
>>
>> I don't like the term segmented as opposed to flat to
>> describe the VMS memory either.
>
> I can see why there is a need for 32 bit addressing for legacy reasons.
> If app code is 32 bit, it implies that VMS has some internal 32
> bit space reserved within the 64 bit total for that, probably
> via run time libraries which either output 64 bit addresses, or have
> some way of informing vms to put the code into a certain 64 bit space
> and starting address...

Everything is in the same 64 bit address space.

It is just that some things can be addressed with 32 bit pointers
and other things cannot.

Demo:

$ type ptrfun.c
#include <stdio.h>
#include <stdlib.h>

#pragma pointer_size save
#pragma pointer_size 32
typedef char *char_ptr32;
#pragma pointer_size 64
typedef char *char_ptr64;
#pragma pointer_size restore

void api32(char_ptr32 a32)
{ printf("32 bit API see: %016p\n", a32);
}

void api64(char_ptr64 a64)
{ printf("64 bit API see: %016llp\n", a64);
}

int main()
{ char b[1];
printf("stack address : %016p (%d)\n", &b, sizeof(&b));
api32(b);
api64(b);
char_ptr32 p32 = _malloc32(1);
printf("32 bit pointer: %016p (%d)\n", p32, sizeof(p32));
api32(p32);
api64(p32);
char_ptr64 p64 = _malloc64(1);
printf("64 bit pointer: %016llp (%d)\n", p64, sizeof(p64));
api32(p64);
api64(p64);
for(int i = 0; i < 16; i++) _malloc64(0x10000000); // force next
allocation up in memory
p64 = _malloc64(1);
printf("64 bit pointer: %016llp (%d)\n", p64, sizeof(p64));
api32(p64);
api64(p64);
return 0;
} $ cc/pointer=64 ptrfun

api32(p64);
..........^
%CC-W-MAYLOSEDATA2, In this statement, "p64" has a larger data size than
"short pointer to char". Assignment can result in data los
s.
at line number 33 in file DISK2:[ARNE]ptrfun.c;4

api32(p64);
..........^
%CC-W-MAYLOSEDATA2, In this statement, "p64" has a larger data size than
"short pointer to char". Assignment can result in data los
s.
at line number 38 in file DISK2:[ARNE]ptrfun.c;4
$ link ptrfun
%LINK-W-WRNERS, compilation warnings
in module PTRFUN file DISK2:[ARNE]ptrfun.OBJ;3
$ run ptrfun
stack address : 000000007AE27A48 (4)
32 bit API see: 000000007AE27A48
64 bit API see: 000000007AE27A48
32 bit pointer: 000000000004B828 (4)
32 bit API see: 000000000004B828
64 bit API see: 000000000004B828
64 bit pointer: 0000000080000010 (8)
32 bit API see: 0000000080000010
64 bit API see: 0000000080000010
64 bit pointer: 00000001A0000030 (8)
32 bit API see: 00000000A0000030
64 bit API see: 00000001A0000030

The compiler does what it can - it gives a warning - it
can't fix the problem.

Arne

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t5u9j3$2na$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22651&group=comp.os.vms#22651

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: seaoh...@hoffmanlabs.invalid (Stephen Hoffman)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Mon, 16 May 2022 15:44:35 -0400
Organization: HoffmanLabs LLC
Lines: 48
Message-ID: <t5u9j3$2na$1@dont-email.me>
References: <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5u4s0$13f$6@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: reader02.eternal-september.org; posting-host="30ace5296055842ae18e2e0060bd97f1";
logging-data="2794"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18CZ+5mhAm5gPBuyRUpz1DSci55sBM7VBU="
User-Agent: Unison/2.2
Cancel-Lock: sha1:8WTpE4sKY1Re0fiBJV97LIMsL/4=
 by: Stephen Hoffman - Mon, 16 May 2022 19:44 UTC

On 2022-05-16 18:24:00 +0000, Simon Clubley said:

> On 2022-05-15, Stephen Hoffman <seaohveh@hoffmanlabs.invalid> wrote:
>>
>> Once y'all use a flat 64-bit address space and APIs, the existing and
>> hybrid memory management compatibility-focused design starts to smell
>> vaguely of TKB.
>>
>
> The VMS 64-bit design comes across as a technical debt situation where,
> given the nature of VMS application code, the "easier" approach was
> taken initially at the expense of long-term maintenance and additional
> coding work to deal with that decision.

Compatibility is always a trade-off, and the complexities inherent in
compatibility inevitably accrete.

(And you can't churn APIs and tools too quickly, as the lack of
compatibility means few or none will want to continue to develop for
and update for your platform.)

The existing hybrid segmented approach wasn't easy on OpenVMS
development, and hasn't been good for substantial app overhauls and new
app work, though the design has been vastly better for existing apps
and existing installations.

Parallel 32- and 64-bit environments would have been both more work in
some ways and easier in some ways, though would have required the
third-parties and apps and tools and APIs to migrate to 64-bit.

Leave the 32-bit apps and APIs and tools alone, save for maintenance.
Port the existing apps and APUs and tools to 64-bit as demand arises.

Following the parallel approach would likely also have deferred the
availability of 64-bit addressing features for those apps that then
required it, too.

The hybrid approach in some ways reminds me of porting code back to
VAX. That ends up being a slog, due to missing calls, missing 64-bit
support, and related. And the folks still on VAX can have less
inclination to move forward.

No good answer, here.

--
Pure Personal Opinion | HoffmanLabs LLC

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS

<memo.20220516213359.11824R@jgd.cix.co.uk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22653&group=comp.os.vms#22653

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: jgd...@cix.co.uk (John Dallman)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS
Date: Mon, 16 May 2022 21:33 +0100 (BST)
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <memo.20220516213359.11824R@jgd.cix.co.uk>
References: <t5tq5l$5fi$1@gioia.aioe.org>
Reply-To: jgd@cix.co.uk
Injection-Info: reader02.eternal-september.org; posting-host="8d0fe3dfc48ea6139983d8eb646094f5";
logging-data="25579"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18CVxECZ3CUpb2y3UKRK+yk+3Nxbv1hOcw="
Cancel-Lock: sha1:wLAUrZIodjLmvlX5X7Lir63dBqg=
 by: John Dallman - Mon, 16 May 2022 20:33 UTC

In article <t5tq5l$5fi$1@gioia.aioe.org>, chris-nospam@tridac.net (chris)
wrote:

> I can see why there is a need for 32 bit addressing for legacy
> reasons. If app code is 32 bit, it implies that VMS has some
> internal 32-bit space reserved within the 64 bit total for that,
> probably via run time libraries which either output 64 bit
> addresses, or have some way of informing vms to put the code
> into a certain 64 bit space and starting address...

This is not done in the same way as more conventional 64-bit operating
systems run 32-code.

The VMS APIs were all originally defined as 32-bit, naturally, but they
were defined in terms of absolute sizes, not in terms of the sizes of
language types. To get a 64-bit environment working quickly, only some of
the APIs were given 64-bit implementations, and they're all in the same
namespaces as the 32-bit APIs, so they have different names.

Since the DEC Alpha, the original 64-bit platform for VMS, simply did not
/have/ a 32-bit mode, "32-bit code" stores the low half of pointers in
memory, and sign-extends them when loading them into registers to use for
accessing memory.

Software written for 64-bit VMS expects to use different APIs to allocate
and manage memory outside the 2GB regions at the top and bottom of the
64-bit address space, and has different types for 64-bit pointers.
Porting software for more conventional 64-bit architectures to VMS can
thus present problems.

This may seem weird. VMS was the last OS written in the expectation that
a lot of programming would be in assembler, and without any planning at
design time for 64-bit addressing. It's quite sophisticated assembler,
but the OS is defined that way, rather than in terms of a high-level
language.

John

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t60d9v$1bte$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22662&group=comp.os.vms#22662

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!jazQyxryRFiI4FEZ51SAvA.user.46.165.242.75.POSTED!not-for-mail
From: chris-no...@tridac.net (chris)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS
on x86
Date: Tue, 17 May 2022 16:00:14 +0100
Organization: Aioe.org NNTP Server
Message-ID: <t60d9v$1bte$1@gioia.aioe.org>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me> <70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk> <8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com> <3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu> <63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="44974"; posting-host="jazQyxryRFiI4FEZ51SAvA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; SunOS sun4u; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
X-Notice: Filtered by postfilter v. 0.9.2
 by: chris - Tue, 17 May 2022 15:00 UTC

On 05/16/22 18:22, Stephen Hoffman wrote:
> On 2022-05-16 15:21:25 +0000, chris said:
>
>> I can see why there is a need for 32 bit addressing for legacy
>> reasons. If app code is 32 bit, it implies that VMS has some internal
>> 32 bit space reserved within the 64 bit total for that, probably via
>> run time libraries which either output 64 bit addresses, or have some
>> way of informing vms to put the code into a certain 64 bit space and
>> starting address...
>
> Existing and unmodified 32-bit user apps—apps expecting P0/P1/S0/S1
> virtual address references—can't receive 64-bit descriptors and 64-bit
> P2 and S2 virtual addresses from other user APIs and from other
> third-party APIs and from system APIs.
>
> With data flowing across the APIs in the other direction, the designs of
> some existing user and third-party system APIs can't be transparently
> modified to accept 64-bit virtual addresses arriving from the calling apps.
>
> Which in aggregate means that these areas of user and third-party and
> OpenVMS executable code and data structures either have to sometimes
> "pretend" that the P2 and S2 virtual address ranges don't exist, or need
> parallel 32- and 64-bit APIs, etc.
>
> The traditional imperative APIs used within most of OpenVMS—descriptors,
> PQLs, itemlists, etc—are somewhat less flexible around these changes
> than would be message-passing APIs for instance, but message-passing API
> designs are not commonly encountered within OpenVMS.
>
> For the pedants reading and pointing to message-passing
> (object-oriented, OO) code on OpenVMS: my reference here is to OpenVMS
> system and RTL and device driver and related APIs. This outside of C++,
> Java, Python, and other such code, all off doing C++ or Java or Python
> or other message-passing tooling. BASIC mostly does well here too,
> though that compiler remains 32-bit. BASIC currently non-message-passing
> and probably should be updated to provide message-passing support, too.
> But I digress.
>
>
>

Still trying to disambiguate this in terms of what happens with 32 bit
code. You mention P0/P1/S0/S1 above, so are these segments and does
32 bit code reside in one of them ?.

As I said earlier, if you have a 32 bit app, but a 64 bit (or >32 bits),
address space, how does the system know where in memory to place that
code to run it ?. A reserved space that vms knows about, or what ?.

Vax split 4Gb into 2 segments, fwir, but looks like current vms is
doing something similar, so it can run 32 bit code...

Chris

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t60lru$qt9$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22667&group=comp.os.vms#22667

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: club...@remove_me.eisner.decus.org-Earth.UFP (Simon Clubley)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Tue, 17 May 2022 17:26:22 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <t60lru$qt9$1@dont-email.me>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me> <70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk> <8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com> <3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu> <63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org>
Injection-Date: Tue, 17 May 2022 17:26:22 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="157a63d4ecfdaf44c6bc45b8b9157b42";
logging-data="27561"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+YKskjtfjgFAPqcubDsTRrZ6rwD+NKxA4="
User-Agent: slrn/0.9.8.1 (VMS/Multinet)
Cancel-Lock: sha1:U2bfViwHlqLr3xPsXKxX9Ffp0oU=
 by: Simon Clubley - Tue, 17 May 2022 17:26 UTC

On 2022-05-17, chris <chris-nospam@tridac.net> wrote:
>
> Still trying to disambiguate this in terms of what happens with 32 bit
> code. You mention P0/P1/S0/S1 above, so are these segments and does
> 32 bit code reside in one of them ?.
>
> As I said earlier, if you have a 32 bit app, but a 64 bit (or >32 bits),
> address space, how does the system know where in memory to place that
> code to run it ?. A reserved space that vms knows about, or what ?.
>

There is no such thing as a pure 64-bit program on VMS. Unfortunately.

On 64-bit VMS, all existing programs use 32-bit pointers and APIs with
32-bit pointers. If you are prepared to modify your source code, you can
also use 64-bit pointers within the same program and call APIs that also
use 64-bit pointers.

Also, not all parts of VMS have 64-bit APIs. Parts of RMS are one example.

This is utterly unlike anything you will be used to in Linux (for example),
where the size of the pointer is abstracted away from you as a C pointer
type. In VMS, due to the original assembly language nature of VMS, pointer
sizes are directly visible in the source code.

All VMS programs, including 32-bit ones, live in the same 64-bit address
space, and it is a feature of the program and the APIs it calls whether
it can access the full 64-bit address space or not.

On VMS, there is no such thing as simply recompiling your program with
-m32 or -m64 and then calling it job (mostly) done.

Simon.

--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t60vge$dn$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22674&group=comp.os.vms#22674

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: seaoh...@hoffmanlabs.invalid (Stephen Hoffman)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Tue, 17 May 2022 16:10:54 -0400
Organization: HoffmanLabs LLC
Lines: 92
Message-ID: <t60vge$dn$1@dont-email.me>
References: <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: reader02.eternal-september.org; posting-host="7451e130a112fe7b995f28f4667907ae";
logging-data="439"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+MsNM26RCq3LI2jIbl66LILaRXYlqeyPk="
User-Agent: Unison/2.2
Cancel-Lock: sha1:SFtA8op3PffTC7OOcccyS3fo+Bg=
 by: Stephen Hoffman - Tue, 17 May 2022 20:10 UTC

On 2022-05-17 15:00:14 +0000, chris said:

>
> Still trying to disambiguate this in terms of what happens with 32 bit
> code. You mention P0/P1/S0/S1 above, so are these segments and does 32
> bit code reside in one of them ?.

P0/P1/S0/S1 are the address ranges available via 32-bit sign-extended pointers.

> As I said earlier, if you have a 32 bit app, but a 64 bit (or >32
> bits), address space, how does the system know where in memory to place
> that code to run it ?. A reserved space that vms knows about, or what ?.

Hardware uses 64-bit virtual addresses throughout. APIs and ABIs use a
mixture of 32- and 64-bit pointers. 32-bit pointers are sign-extended
to 64-bit.

> Vax split 4Gb into 2 segments, fwir, but looks like current vms is
> doing something similar, so it can run 32 bit code...

VAX virtual addressing was split into P0, P1, S0, and later, with the
arrival of VAX Extended Virtual Addressing support, S1.

VAX Extended Physical Addressing arrived around the same time, and
increased the available physical address range.

OpenVMS on Alpha and on Itanium has P0, P1, S0, and S1 within the
32-bit virtual address range, and user APIs and ABIs using 32-bit
pointers and 32-bit pointer structures.

OpenVMS Alpha V7.0 and later added P2 and S2 comprising the remainder
of 64-bit space when you remove 32-bit space, and that range was then
split in half for user and system access.

OpenVMS V7.0 and later updated some 32-bit APIs and ABIs, added some
64-bit APIs and APIs, and modified some user-accessible data structures
to support 64-bit pointers not the least of which are itemlists and
string descriptors. 32-bit string descriptors are eight bytes in size.
The 64-bit descriptors... are not.

As implemented on OpenVMS V7.0 and later and on OpenVMS I64 on Itanium,
the lowest 31 bits (P0, P1) and the highest 31 bits (S0, S1) are 32-bit
space, and the ginormous virtual address range between those two is P2
and S2.

It's the APIs and ABIs that make 64-bit more "interesting" on OpenVMS.
Most other platforms didn't try to mix pointer sizes within the same
app executables, and didn't need to have APIs and ABIs for each size,
and a bunch of switches and knobs to control it all.

For an intro, read the Guide to 64-bit addressing doc. The contents of
that doc were subsequently folded into other manuals in later versions,
and that doc was retired. But for the purposes of this discussion
however, that doc will introduce the hybrid addressing model used by
OpenVMS.

http://www0.mi.infn.it/~calcolo/OpenVMS/ssb71/6467/6467ptoc.htm

32-bit descriptor with 32-bit pointers (can reach all of P0, P1, S0,
and S1, but not P2 nor S2):

struct dsc$descriptor {
unsigned short dsc$w_length; /* specific to descriptor class;
typically a 16-bit (unsigned) length */
unsigned char dsc$b_dtype; /* data type code */
unsigned char dsc$b_class; /* descriptor class code */
char *dsc$a_pointer; /* address of first byte of data element */
};

64-bit descriptor with 64-bit pointers (can reach all of virtual
address space):

struct dsc64$descriptor {
unsigned short dsc64$w_mbo; /* must-be-one field overlays 16-bit
length field */
unsigned char dsc64$b_dtype; /* data type code */
unsigned char dsc64$b_class; /* descriptor class code */
long dsc64$l_mbmo; /* must-be-minus-one field overlays 32-bit pointer */
unsigned __int64 dsc64$q_length; /* quadword length */
char *dsc64$pq_pointer; /* address of first byte of data storage */
};

Some APIs and ABIs deal only with 32-bit descriptors, some with both.

Itemlists were similarly modified.

As were other user-referenced data structures, and APIs and ABIs.

--
Pure Personal Opinion | HoffmanLabs LLC

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<62840574$0$698$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22675&group=comp.os.vms#22675

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Tue, 17 May 2022 16:28:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.0
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Content-Language: en-US
Newsgroups: comp.os.vms
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me>
<70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com>
<62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com>
<51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com>
<627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me>
<dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com>
<t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk>
<t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
<6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me>
<t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk>
<t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me>
<t60d9v$1bte$1@gioia.aioe.org>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <t60d9v$1bte$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 38
Message-ID: <62840574$0$698$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 26d23955.news.sunsite.dk
X-Trace: 1652819316 news.sunsite.dk 698 arne@vajhoej.dk/68.9.63.232:52366
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Tue, 17 May 2022 20:28 UTC

> Still trying to disambiguate this in terms of what happens with 32 bit
> code. You mention P0/P1/S0/S1 above, so are these segments and does
> 32 bit code reside in one of them ?.
>
> As I said earlier, if you have a 32 bit app, but a 64 bit (or >32 bits),
> address space, how does the system know where in memory to place that
> code to run it ?. A reserved space that vms knows about, or what ?.

There are no such thing as a 32 bit application on Alpha,
Itanium or x86-64 - applications are all 64 bit (in the
meaning of 64 bit application used on other platforms).

But that 64 bit application may use:
- all 32 bit pointers
- all 64 bit pointers
- mix of 32 bit and 64 bit pointers

32 bit pointers can only access some of the
virtual address space (P0 and P1
on VMS), but can be used with API's that
expect 32 bit pointers and API' that expect 64 bit
pointers.

64 bit pointers can access all virtual address
space (P0, P1 and P2 on VMS), but can only safely
be used with API's that expect 64 bit pointers.

I don't think where the code reside P0 or P2 is
important for accessing data - it may matter for
function pointers, self modifying code and various
other cases though.

Arne

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t611b5$dn9$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22680&group=comp.os.vms#22680

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!rocksolid2!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: seaoh...@hoffmanlabs.invalid (Stephen Hoffman)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Tue, 17 May 2022 16:42:13 -0400
Organization: HoffmanLabs LLC
Lines: 24
Message-ID: <t611b5$dn9$1@dont-email.me>
References: <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org> <62840574$0$698$14726298@news.sunsite.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: reader02.eternal-september.org; posting-host="7451e130a112fe7b995f28f4667907ae";
logging-data="14057"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX181r99DBEum/s3c0BjPxiRX0Kjt//V8Ydc="
User-Agent: Unison/2.2
Cancel-Lock: sha1:CqJ2fYNaoYFsBna8oeqOG67n02Q=
 by: Stephen Hoffman - Tue, 17 May 2022 20:42 UTC

On 2022-05-17 20:28:30 +0000, Arne Vajhj said:

> There are no such thing as a 32 bit application on Alpha, Itanium or
> x86-64 - applications are all 64 bit (in the meaning of 64 bit
> application used on other platforms).

Other than that the default compilation and default link on OpenVMS
Alpha and OpenVMS I64 produces apps using 32-bit sign-extended
pointers, and necessities using 32-bit ABIs and APIs, sure.

> ...
> I don't think where the code reside P0 or P2 is important for accessing
> data - it may matter for function pointers, self modifying code and
> various other cases though.

Other than that those sign-extended 32-bit pointers not being able to
access P2 data, and apps limited to 30 bits of code and data and
somewhat less than 30 bits of stack space, sure.

--
Pure Personal Opinion | HoffmanLabs LLC

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<62840cfd$0$705$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22681&group=comp.os.vms#22681

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Tue, 17 May 2022 17:00:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.0
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Content-Language: en-US
Newsgroups: comp.os.vms
References: <6280ff3f$0$707$14726298@news.sunsite.dk>
<t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org>
<62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org>
<t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org>
<62840574$0$698$14726298@news.sunsite.dk> <t611b5$dn9$1@dont-email.me>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <t611b5$dn9$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 40
Message-ID: <62840cfd$0$705$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 7888ee4b.news.sunsite.dk
X-Trace: 1652821246 news.sunsite.dk 705 arne@vajhoej.dk/68.9.63.232:53207
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Tue, 17 May 2022 21:00 UTC

On 5/17/2022 4:42 PM, Stephen Hoffman wrote:
> On 2022-05-17 20:28:30 +0000, Arne Vajhj said:
>> There are no such thing as a 32 bit application on Alpha, Itanium or
>> x86-64 - applications are all 64 bit (in the meaning of 64 bit
>> application used on other platforms).
>
> Other than that the default compilation and default link on OpenVMS
> Alpha and OpenVMS I64 produces apps using 32-bit sign-extended pointers,
> and necessities using 32-bit ABIs and APIs, sure.

It is not what is meant by 32 bit application on other
platforms.

>> I don't think where the code reside P0 or P2 is important for
>> accessing data - it may matter for function pointers, self modifying
>> code and various other cases though.
>
> Other than that those sign-extended 32-bit pointers not being able to
> access P2 data,

That does not relate to where the code is.

> and apps limited to 30 bits of code and data and
> somewhat less than 30 bits of stack space, sure.

I thought they had started moving code up to P2.

And data can be in P2 with some extra work.

Stack may actually be the biggest problem as I have
never heard about any intentions of introducing a
P3 for big stack. And a lot of stack space can
be needed in massive multi-threaded apps.
10000 threads with 1 MB stacks is 10 GB stack.
Sure that is a bit extreme, but it is not
crazy extreme just a bit extreme.

Arne

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<62840f9c$0$695$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22682&group=comp.os.vms#22682

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Tue, 17 May 2022 17:11:55 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.0
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Content-Language: en-US
Newsgroups: comp.os.vms
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me>
<70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com>
<62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com>
<51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com>
<627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me>
<dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com>
<t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk>
<t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
<6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me>
<t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk>
<t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me>
<t60d9v$1bte$1@gioia.aioe.org> <t60lru$qt9$1@dont-email.me>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <t60lru$qt9$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 62
Message-ID: <62840f9c$0$695$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 7888ee4b.news.sunsite.dk
X-Trace: 1652821917 news.sunsite.dk 695 arne@vajhoej.dk/68.9.63.232:53452
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Tue, 17 May 2022 21:11 UTC

On 5/17/2022 1:26 PM, Simon Clubley wrote:
> On 2022-05-17, chris <chris-nospam@tridac.net> wrote:
>> Still trying to disambiguate this in terms of what happens with 32 bit
>> code. You mention P0/P1/S0/S1 above, so are these segments and does
>> 32 bit code reside in one of them ?.
>>
>> As I said earlier, if you have a 32 bit app, but a 64 bit (or >32 bits),
>> address space, how does the system know where in memory to place that
>> code to run it ?. A reserved space that vms knows about, or what ?.
>
> There is no such thing as a pure 64-bit program on VMS. Unfortunately.

With an unusual definition of "pure 64 bit" meaning all pointers being
64 bit.

> On 64-bit VMS, all existing programs use 32-bit pointers and APIs with
> 32-bit pointers. If you are prepared to modify your source code, you can
> also use 64-bit pointers within the same program and call APIs that also
> use 64-bit pointers.

You can switch to 64 bit pointers using a compile switch for
some languages (C, Fortran).

Whether source code changes are necessary for API reasons must
depend on the type of code. Just CRTL calls should be handled
automatically without any source code changes. With VMS calls
(SYS$, LIB$ etc.) changes will likely be needed.

> This is utterly unlike anything you will be used to in Linux (for example),
> where the size of the pointer is abstracted away from you as a C pointer
> type. In VMS, due to the original assembly language nature of VMS, pointer
> sizes are directly visible in the source code.

Some compatibility decisions was made 3 decades ago that has long
lasting impact.

That the usage of Macro-32 for applications was a major reason
is something you have claimed many times. But there are no
proofs that was more important than the other potential reasons,
so it is speculation.

> All VMS programs, including 32-bit ones, live in the same 64-bit address
> space, and it is a feature of the program and the APIs it calls whether
> it can access the full 64-bit address space or not.
>
> On VMS, there is no such thing as simply recompiling your program with
> -m32 or -m64 and then calling it job (mostly) done.

Given that there are are no 32 bit applications/CPU modes/processes
then there are obviously no m32 and m64.

There are /POINTER=64 and /POINTER=32 to change default pointer
size.

Which may or may not be sufficient to do a recompile and
start using P2 space for data.

Arne

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t61481$29p$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22683&group=comp.os.vms#22683

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: seaoh...@hoffmanlabs.invalid (Stephen Hoffman)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86
Date: Tue, 17 May 2022 17:31:45 -0400
Organization: HoffmanLabs LLC
Lines: 39
Message-ID: <t61481$29p$1@dont-email.me>
References: <t51g33$q73$1@dont-email.me> <70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk> <8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com> <3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu> <63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org> <62840574$0$698$14726298@news.sunsite.dk> <t611b5$dn9$1@dont-email.me> <62840cfd$0$705$14726298@news.sunsite.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: reader02.eternal-september.org; posting-host="7451e130a112fe7b995f28f4667907ae";
logging-data="2361"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18jZcdsX720Ns6Pf72a5BPP5ddo+9aGWwM="
User-Agent: Unison/2.2
Cancel-Lock: sha1:Jq1TWLRkIu2pXPQtB2wBwUBPiw4=
 by: Stephen Hoffman - Tue, 17 May 2022 21:31 UTC

On 2022-05-17 21:00:39 +0000, Arne Vajhj said:

> On 5/17/2022 4:42 PM, Stephen Hoffman wrote:
>> On 2022-05-17 20:28:30 +0000, Arne Vajhj said:
>>> There are no such thing as a 32 bit application on Alpha, Itanium or
>>> x86-64 - applications are all 64 bit (in the meaning of 64 bit
>>> application used on other platforms).
>>
>> Other than that the default compilation and default link on OpenVMS
>> Alpha and OpenVMS I64 produces apps using 32-bit sign-extended
>> pointers, and necessities using 32-bit ABIs and APIs, sure.
>
> It is not what is meant by 32 bit application on other platforms.

It's also not what is meant by a 64-bit application on other platforms.

>>> I don't think where the code reside P0 or P2 is important for accessing
>>> data - it may matter for function pointers, self modifying code and
>>> various other cases though.
>>
>> Other than that those sign-extended 32-bit pointers not being able to
>> access P2 data,
>
> That does not relate to where the code is.

Correct. It refers to both code and data.

>> and apps limited to 30 bits of code and data and somewhat less than 30
>> bits of stack space, sure.
>
> I thought they had started moving code up to P2.

Code which is inaccessible to 32-bit addresses, so don't try to pass a
function pointer to that code.

--
Pure Personal Opinion | HoffmanLabs LLC

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t61674$gqn$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22684&group=comp.os.vms#22684

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: craigbe...@nospam.mac.com (Craig A. Berry)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Date: Tue, 17 May 2022 17:05:23 -0500
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <t61674$gqn$1@dont-email.me>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me>
<70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com>
<62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com>
<51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com>
<627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me>
<dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com>
<t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk>
<t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
<6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me>
<t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk>
<t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me>
<t60d9v$1bte$1@gioia.aioe.org> <t60lru$qt9$1@dont-email.me>
<62840f9c$0$695$14726298@news.sunsite.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 17 May 2022 22:05:25 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f96ddcc951eaddd97b731b25ae159822";
logging-data="17239"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/xpDtLtqTmp6RRhktEJ5ZiAwsaZUfgka8="
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.9.0
Cancel-Lock: sha1:9jrKyDpyh2fb6v8OmRN26AFcpRE=
In-Reply-To: <62840f9c$0$695$14726298@news.sunsite.dk>
Content-Language: en-US
 by: Craig A. Berry - Tue, 17 May 2022 22:05 UTC

On 5/17/22 4:11 PM, Arne Vajhøj wrote:

> You can switch to 64 bit pointers using a compile switch for
> some languages (C, Fortran).
>
> Whether source code changes are necessary for API reasons must
> depend on the type of code. Just CRTL calls should be handled
> automatically without any source code changes.

Unless your C program is using getopt, something from the exec family,
or anything else that deals with the argv and environ arrays, some (but
not all) of which can be mitigated by further specifying
/POINTER_SIZE=LONG=ARGV.

Or if you have various other CRTL routines that have no 64-bit variants.

Or you've got a LIB$INITIALIZE routine to set the DECC$ features at
start-up time; I may not be explaining this right but I think that
routine has to be referenced by a 32-bit pointer because that's where
the image activator will look for it.

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t618ta$1if$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22685&group=comp.os.vms#22685

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Date: Tue, 17 May 2022 18:51:23 -0400
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <t618ta$1if$1@dont-email.me>
References: <6280ff3f$0$707$14726298@news.sunsite.dk>
<t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org>
<62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org>
<t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org>
<62840574$0$698$14726298@news.sunsite.dk> <t611b5$dn9$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 17 May 2022 22:51:22 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="60ec5eaaf1af380be3978102f6570660";
logging-data="1615"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18cdon2ZjJPVgnzY9J8OrnNqTgITKxq56U="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:SUdezaedb3LKzWlcOqqrE/OMEMg=
In-Reply-To: <t611b5$dn9$1@dont-email.me>
 by: Dave Froble - Tue, 17 May 2022 22:51 UTC

On 5/17/2022 4:42 PM, Stephen Hoffman wrote:
> On 2022-05-17 20:28:30 +0000, Arne Vajhj said:
>
>> There are no such thing as a 32 bit application on Alpha, Itanium or x86-64 -
>> applications are all 64 bit (in the meaning of 64 bit application used on
>> other platforms).
>
> Other than that the default compilation and default link on OpenVMS Alpha and
> OpenVMS I64 produces apps using 32-bit sign-extended pointers, and necessities
> using 32-bit ABIs and APIs, sure.
>
>> ...
>> I don't think where the code reside P0 or P2 is important for accessing data -
>> it may matter for function pointers, self modifying code and various other
>> cases though.
>
> Other than that those sign-extended 32-bit pointers not being able to access P2
> data, and apps limited to 30 bits of code and data and somewhat less than 30
> bits of stack space, sure.

I'm just wondering how many VMS uses actually need the 64 bit addressing? At
least Basic, and perhaps other languages, were never modified to take advantage
of 64 bit addressing.

Sure, there can be some uses that have such a requirement. If it doesn't exist
(VAX) then VMS cannot be used in such cases.

But, for the most part, is this a serious issue, or, something to dispare over?

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t619n0$1qjq$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22687&group=comp.os.vms#22687

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!jazQyxryRFiI4FEZ51SAvA.user.46.165.242.75.POSTED!not-for-mail
From: chris-no...@tridac.net (chris)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS
on x86
Date: Wed, 18 May 2022 00:05:04 +0100
Organization: Aioe.org NNTP Server
Message-ID: <t619n0$1qjq$1@gioia.aioe.org>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me> <70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com> <62757a46$0$695$14726298@news.sunsite.dk> <8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com> <51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com> <3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com> <627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me> <dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu> <63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com> <t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk> <t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me> <6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org> <t60lru$qt9$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="60026"; posting-host="jazQyxryRFiI4FEZ51SAvA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; SunOS sun4u; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
X-Notice: Filtered by postfilter v. 0.9.2
 by: chris - Tue, 17 May 2022 23:05 UTC

On 05/17/22 18:26, Simon Clubley wrote:
> On 2022-05-17, chris<chris-nospam@tridac.net> wrote:
>>
>> Still trying to disambiguate this in terms of what happens with 32 bit
>> code. You mention P0/P1/S0/S1 above, so are these segments and does
>> 32 bit code reside in one of them ?.
>>
>> As I said earlier, if you have a 32 bit app, but a 64 bit (or>32 bits),
>> address space, how does the system know where in memory to place that
>> code to run it ?. A reserved space that vms knows about, or what ?.
>>
>
> There is no such thing as a pure 64-bit program on VMS. Unfortunately.
>
> On 64-bit VMS, all existing programs use 32-bit pointers and APIs with
> 32-bit pointers. If you are prepared to modify your source code, you can
> also use 64-bit pointers within the same program and call APIs that also
> use 64-bit pointers.
>
> Also, not all parts of VMS have 64-bit APIs. Parts of RMS are one example.
>
> This is utterly unlike anything you will be used to in Linux (for example),
> where the size of the pointer is abstracted away from you as a C pointer
> type. In VMS, due to the original assembly language nature of VMS, pointer
> sizes are directly visible in the source code.
>
> All VMS programs, including 32-bit ones, live in the same 64-bit address
> space, and it is a feature of the program and the APIs it calls whether
> it can access the full 64-bit address space or not.
>
> On VMS, there is no such thing as simply recompiling your program with
> -m32 or -m64 and then calling it job (mostly) done.
>
> Simon.
>

Disappointing, but still doesn't amswer the question. Namely, if the
code is 32 bit, how does vms know where to put that in 64 bit space ?.

The question is relevant, since code has to be loaded at an address,
usually defined at link time, unless fully position independent code
is used, which can be quite inefficient. Perhaps the run time libraries
deal with the that, but not clear. Also, how do the P0, P1, S0, S1
segments relate to that ?...

Chris

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<62842f29$0$698$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22689&group=comp.os.vms#22689

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!news.neodome.net!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Tue, 17 May 2022 19:26:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.0
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Content-Language: en-US
Newsgroups: comp.os.vms
References: <6280ff3f$0$707$14726298@news.sunsite.dk>
<t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org>
<62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org>
<t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org>
<62840574$0$698$14726298@news.sunsite.dk> <t611b5$dn9$1@dont-email.me>
<t618ta$1if$1@dont-email.me>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <t618ta$1if$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 50
Message-ID: <62842f29$0$698$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 19985098.news.sunsite.dk
X-Trace: 1652829993 news.sunsite.dk 698 arne@vajhoej.dk/68.9.63.232:58039
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Tue, 17 May 2022 23:26 UTC

On 5/17/2022 6:51 PM, Dave Froble wrote:
> I'm just wondering how many VMS uses actually need the 64 bit
> addressing?  At least Basic, and perhaps other languages, were never
> modified to take advantage of 64 bit addressing.
>
> Sure, there can be some uses that have such a requirement.  If it
> doesn't exist (VAX) then VMS cannot be used in such cases.
>
> But, for the most part, is this a serious issue, or, something to
> dispare over?

There is a reason why Alpha was made 64 bit and not 32 bit
those 3 decades ago.

There are definitely application types that need 64 bit
capability.

Databases are one case. And I believe that was the case
driving the Alpha decision all these years ago.

There are other memory hungry application types.

Some platform software: cache servers, Java EE application
servers, message queue servers etc..

Many custom scientific applications (Fortran, Python).

For custom business application (Cobol, Basic, Pascal,
Java or in some cases C) there must still be a lot of applications
that don't need it (as in "really don't need it" not just
"can live without it").

But application tend to grow over time so more applications
will want to use the full 64 bit space as times goes by.

And if/when VSI start courting ISV's not currently on VMS to
support VMS, then the vast majority will expect good 64 bit
support.

So I would call it a medium to high severity issue that
by will get a bit worse every year until fixed.

Not something VSI has to fix this year. But something VSI
should fix before 2030.

Arne

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t61set$di0$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22691&group=comp.os.vms#22691

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Date: Wed, 18 May 2022 00:25:03 -0400
Organization: A noiseless patient Spider
Lines: 62
Message-ID: <t61set$di0$1@dont-email.me>
References: <6280ff3f$0$707$14726298@news.sunsite.dk>
<t5ro1r$t4l$1@dont-email.me> <t5s1hk$1cht$1@gioia.aioe.org>
<62818b7e$0$704$14726298@news.sunsite.dk> <t5tq5l$5fi$1@gioia.aioe.org>
<t5u18r$1af$1@dont-email.me> <t60d9v$1bte$1@gioia.aioe.org>
<62840574$0$698$14726298@news.sunsite.dk> <t611b5$dn9$1@dont-email.me>
<t618ta$1if$1@dont-email.me> <62842f29$0$698$14726298@news.sunsite.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 18 May 2022 04:25:01 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="60ec5eaaf1af380be3978102f6570660";
logging-data="13888"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18R6w/v6S7pv87oD78MbxasKDtrZjE+RUM="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:WrpOTEISd6KI8OAvSH36yaBIFCI=
In-Reply-To: <62842f29$0$698$14726298@news.sunsite.dk>
 by: Dave Froble - Wed, 18 May 2022 04:25 UTC

On 5/17/2022 7:26 PM, Arne Vajhøj wrote:
> On 5/17/2022 6:51 PM, Dave Froble wrote:
>> I'm just wondering how many VMS uses actually need the 64 bit addressing? At
>> least Basic, and perhaps other languages, were never modified to take
>> advantage of 64 bit addressing.
>>
>> Sure, there can be some uses that have such a requirement. If it doesn't
>> exist (VAX) then VMS cannot be used in such cases.
>>
>> But, for the most part, is this a serious issue, or, something to dispare over?
>
> There is a reason why Alpha was made 64 bit and not 32 bit
> those 3 decades ago.
>
> There are definitely application types that need 64 bit
> capability.

I just wonder what percentage of current VMS users need 64 bit addresses.

> Databases are one case. And I believe that was the case
> driving the Alpha decision all these years ago.
>
> There are other memory hungry application types.
>
> Some platform software: cache servers, Java EE application
> servers, message queue servers etc..
>
> Many custom scientific applications (Fortran, Python).
>
> For custom business application (Cobol, Basic, Pascal,
> Java or in some cases C) there must still be a lot of applications
> that don't need it (as in "really don't need it" not just
> "can live without it").
>
> But application tend to grow over time so more applications
> will want to use the full 64 bit space as times goes by.
>
> And if/when VSI start courting ISV's not currently on VMS to
> support VMS, then the vast majority will expect good 64 bit
> support.

Agreed, it's a "check box" item, better have it.

> So I would call it a medium to high severity issue that
> by will get a bit worse every year until fixed.
>
> Not something VSI has to fix this year. But something VSI
> should fix before 2030.
>
> Arne
>
>
>
>

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t62an4$7e4$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22695&group=comp.os.vms#22695

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!7hIokGb+duKXg7lAlAQ48g.user.46.165.242.91.POSTED!not-for-mail
From: end...@inter.net (hb)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Date: Wed, 18 May 2022 10:28:20 +0200
Organization: Aioe.org NNTP Server
Message-ID: <t62an4$7e4$1@gioia.aioe.org>
References: <t51g33$q73$1@dont-email.me>
<62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com>
<51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com>
<627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me>
<dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com>
<t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk>
<t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
<6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me>
<t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk>
<t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me>
<t60d9v$1bte$1@gioia.aioe.org> <62840574$0$698$14726298@news.sunsite.dk>
<t611b5$dn9$1@dont-email.me> <62840cfd$0$705$14726298@news.sunsite.dk>
<t61481$29p$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="7620"; posting-host="7hIokGb+duKXg7lAlAQ48g.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.8.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: hb - Wed, 18 May 2022 08:28 UTC

On 5/17/22 23:31, Stephen Hoffman wrote:
> On 2022-05-17 21:00:39 +0000, Arne Vajhj said:
> ...
>> I thought they had started moving code up to P2.
>
> Code which is inaccessible to 32-bit addresses, so don't try to pass a
> function pointer to that code.

On x86 and IA64 function pointers are always 32 bit.

On x86, by default the linker puts code into P2; on request the linker
can move code into P0. On x86 the function pointer is a code address of
a single code instruction, which uses a 64 bit address to jump to the
"real" code. The linker creates this code instruction. On IA64, by
default the linker puts code into P0; on request, the linker can move
code into P2. On IA64 the function pointer is the address of a data
structure, a Function Descriptor (FD), which contains a 64 bit address
of the "real" code. The linker creates the FD.

Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on x86

<t62dok$1ioj$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=22699&group=comp.os.vms#22699

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!7hIokGb+duKXg7lAlAQ48g.user.46.165.242.91.POSTED!not-for-mail
From: end...@inter.net (hb)
Newsgroups: comp.os.vms
Subject: Re: VSI Announces Initial Focus on Hypervisor Support for OpenVMS on
x86
Date: Wed, 18 May 2022 11:20:19 +0200
Organization: Aioe.org NNTP Server
Message-ID: <t62dok$1ioj$1@gioia.aioe.org>
References: <t51g33$q73$1@dont-email.me> <t53327$v1d$1@dont-email.me>
<70477de0-a2e1-4f8e-ac6f-950a6aba3f28n@googlegroups.com>
<62757a46$0$695$14726298@news.sunsite.dk>
<8c93548f-28f7-48f8-9fb9-d023bce7f13dn@googlegroups.com>
<51ace26c-f55e-4afb-9bcc-8c3ab92418a0n@googlegroups.com>
<3e156c0b-63aa-453d-86c9-5615076cdb60n@googlegroups.com>
<627816cf$0$705$14726298@news.sunsite.dk> <t5b2vq$4n3$1@dont-email.me>
<dad8aa6fa7ed644e9b648ca53b07bad428d2c5cc.camel@munted.eu>
<63e02e62-8e1e-44ee-8434-e3d0cb252d30n@googlegroups.com>
<t5f0m6$1ft7$3@gioia.aioe.org> <627b070a$0$698$14726298@news.sunsite.dk>
<t5paer$c29$1@gioia.aioe.org> <t5pe61$nsg$1@dont-email.me>
<6280ff3f$0$707$14726298@news.sunsite.dk> <t5ro1r$t4l$1@dont-email.me>
<t5s1hk$1cht$1@gioia.aioe.org> <62818b7e$0$704$14726298@news.sunsite.dk>
<t5tq5l$5fi$1@gioia.aioe.org> <t5u18r$1af$1@dont-email.me>
<t60d9v$1bte$1@gioia.aioe.org> <t60lru$qt9$1@dont-email.me>
<62840f9c$0$695$14726298@news.sunsite.dk> <t61674$gqn$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="51987"; posting-host="7hIokGb+duKXg7lAlAQ48g.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.8.0
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
 by: hb - Wed, 18 May 2022 09:20 UTC

On 5/18/22 00:05, Craig A. Berry wrote:
> ...
> Or you've got a LIB$INITIALIZE routine to set the DECC$ features at
> start-up time; I may not be explaining this right but I think that
> routine has to be referenced by a 32-bit pointer because that's where
> the image activator will look for it.

The image activator doesn't care about the pointer size. Only for
shareable images, the image activator calls the code in the
LIB$INITIALIZE module, which was (by request) linked into the shareable.
Its entry point was written by the linker and that's what the image
activator is looking for. The code in LIB$INITIALIZE expects an array of
32-bit pointers in the LIB$INITIALIZE PSECTs. They are function pointers
which are always 32 bit. This array is set up by the developer and
filled with the pointers. If the source module for setting this up was
compiled with 64 bit pointers, an array of pointers has 64 bit entries.
With the function pointers being 32 bits, the array from
LIB$INITIALIZE's point of view contains zero pointers. For the
LIB$INITIALIZE code a zero pointer is the end of the list. With 64-bit
pointers, that stops you from having more than one init routine called
"from the image activator". When the image activation is done, the main
image is started with SYS$IMGSTA, which calls the code in the
LIB$INITIALIZE module, ...

That also explains, why you can debug init code of a main image, but you
can't debug the init code of a shareable image (other than you run it as
a main image).

Some people may think SYS$IMGSTA (or even LIB$INITIALIZE) is part of the
image activator. From my point of view, it is not.

This all applies to the traditional VMS image initialization with the
LIB$INITIALIZE PSECTs. On x86 the ELF .init_array sections are
supported. They contain 64-bit pointers.

FWIW, the linker on/for x86 was enhanced to include the LIB$INITIALIZE
module from STARLET.OLB, whenever it encounters a LIB$INITIALIZE PSECT
or .init_array section.

Pages:12345
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor