[Info-vax] VAX Macro to C conversion
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Tue Jul 23 18:44:08 EDT 2019
On 2019-07-22 16:27:46 +0000, John Reagan said:
> The kernel-mode CRTL is:
>
> - A very reduced subset of the CRTL's entry points (no malloc, fopen,
> getenv, etc)
> - It is in object form and is linked directly into the kernel.
> - Is conditionalized to avoid things like "setting errno", locale
> support, threading awareness, etc
> - Doesn't allocate memory
Yeah; the kernel C library is a mixed bag, and a subset of C support.
And it's missing the newer and increasingly-preferred C calls too. For
some of the kernel app requirements, OpenVMS provides its own APIs for
stuff that C code might call into the C library else-platform,
particularly around networking. But inner-mode code is only rarely
portable across operating systems. What's available with the OpenVMS
kernel C library and kernel mode more generally will undoubtedly be
changing, particularly given the increasing requirements of networking
and encryption and authentication. Whether the kernel C RTL also
presents those hypothetical new APIs? For now, the kernel code either
provides its own calls into VCI (and VCI 2.0, if/when) and other
services, and/or doesn't implement some related tasks such as DTLS.
> ...to allocate heap memory for string operations. As mentioned before,
> you don't want to allocate heap from inner mode. In the BEST case,
> you'll end up with a krkw (kernel read/kernel write) page in the middle
> of your LIB$GET_VM's lookaside lists which will give you a nice ACCVIO
> if you get that address returned to you in user-mode by a future
> LIB$GET_VM call.
IIRC from an earlier rummage, the LIBRTL VM services casted at least
some parts of the allocation requests into user mode. This instead of
punting any inner-mode requests with an error.
The whole of the inner-mode programming requirements—outside of device
drivers and a little on UWSS stuff and ilk—isn't particularly
documented for customer nor ISV use. It's certainly not very well
documented.
And before somebody points me at the IDSM TYVM, a whole lot of what
those books discuss was long considered unsupported and undocumented
and subject to change without notice. Prolly still is, too.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list