Specifications
Operating System Routines
EXE$ALONONPAGED
EXE$ALONONPAGED
Allocates a block of memory from nonpaged pool.
Module
MEMORYALC
Input
Location Contents
R1 Size of requested block in bytes
Output
Location Contents
R0 SS$_NORMAL or SS$_INSFMEM
R1 Size of the allocated block, which may be larger
than the requested size
R2 Address of allocated block
Synchronization
EXE$ALONONPAGED executes at its caller’s IPL and at IPL$_POOL, obtaining
the POOL spinlock in a multiprocessing environment. Thus, if a packet cannot be
obtained from one of the lookaside lists, callers at IPL greater than IPL$_POOL
are required to fork to a lower IPL and retry in order to successfully obtain a
packet.
EXE$ALONONPAGED returns control to its caller at the caller’s IPL. The caller
retains any spinlocks it held at the time of the call.
Description
Depending on the size of the requested block, EXE$ALONONPAGED allocates
nonpaged pool from either a lookaside list or from the variable region of nonpaged
dynamic memory. This entry point is also known as EXE$ALONPAGVAR. (Since
OpenVMS VAX Version 6.0, EXE$ALONPAGVAR is an obsolete routine.)
EXE$ALONONPAGED does not initialize the header of the allocated block of
memory.
3–16