Specifications
Loading an OpenVMS AXP Device Driver
10.3 Loading Sliced Executive Images
10.3 Loading Sliced Executive Images
In traditional executive image loading, code and data are sparsely laid out
in system address space. The loader allocates the virtual address space for
executive images so that the image sections are loaded on the same boundaries
as the linker created them. The images are normally linked with the /BPAGE
qualifier equal to 14; this puts the image sections on 16 KB boundaries.
AXP hardware can consider a set of pages as a single huge page, which can
be mapped by a single page-table entry (PTE) in the translation buffer. To use
this mechanism, the loader allocates a PTE for nonpaged code and another for
nonpaged data. Pages within this huge page, or granularity hint region,
must have the same protection. As a result, hence code and data cannot share a
huge page. The end result of this is a single translation buffer entry to map the
executive nonpaged code, and another to map the nonpaged data.
The loader then loads like nonpaged sections from each executive image into
the same region of virtual memory, ignoring the page size according to which
the image sections have been created. Paged, fixup and initialization sections
are loaded in the same manner as the traditional loader. If the parameter
S0_PAGING is set to turn off paging of the executive, all code and data, both
paged and nonpaged, is treated as nonpaged and loaded into the granularity hint
regions.
This method of loading is called ‘‘sliced’’ loading. Figure 10–1 illustrates a
traditional load and a sliced load.
Figure 10–1 Traditional and Sliced Loads
Traditional Load Sliced Load
+-----------------+ 80000000 +-----------------+ 80000000
| NPR exc img A | | NPR exc img A |
+-----------------+ +-----------------+
| NPRW exc img A | | NPR exc img B |
+-----------------+ +-----------------+
| PR exc img A | | |
+-----------------+ +-----------------+
| PRW exc img A | . .
+-----------------+ . .
| Fixup exc img A | +-----------------+ 80400000
+-----------------+ | NPRW exc img A |
| NPR exc img B | +-----------------+
+-----------------+ | NPRW exc img B |
| NPRW exc img B | +-----------------+
+-----------------+ . .
| Init exc img B | . .
+-----------------+ +-----------------+ 80800000
| Fixup exc img B | | PR exc img A |
+-----------------+ +-----------------+
. . | PRW exc img A |
. . +-----------------+
. . | Fixup exc img A |
+-----------------+
NPR = nonpaged read | Init exc img B |
NPRW = nonpaged read/write +-----------------+
PR = paged read | Fixup exc img B |
PRW = paged read/write +-----------------+
10–13










