Specifications
Operating System Routines
IOC$LOADVMEMAP_PIO
Synchronization
A driver fork process calls IOC$LOADVMEMAP_PIO at fork IPL, holding the
corresponding fork lock in a multiprocessing environment. IOC$LOADVMEMAP_
PIO returns control to its caller at the caller’s IPL. The caller retains any
spinlocks it held at the time of the call.
Description
A driver fork process calls IOC$LOADVMEMAP_PIO to load a previously
allocated set of map registers with VME PFNs. For the DWMVA adapter, a
VME PFN for programmed I/O access contains bits A<31:20>. The low order bits
A<19:0> are taken from the XMI I/O address offset that corresponds to the map
register in question. For more detail, see the adapter technical manual.
The VME address type, access length, and access mode are all controlled by
setting or clearing the appropriate flags in the access flags register.
IOC$LOADVMEMAP_PIO confirms that sufficient VME PIO map registers
have been previously allocated. If not, it issues a UBMAPEXCED bugcheck.
Otherwise, it loads the appropriate PFN into each map register and sets the map
register valid bit.
3–106