Specifications
OpenVMS System Routines Called by OpenVMS AXP Device Drivers
IOC$MAP_IO
Request mapping in a platform address space that
corresponds to bus memory space and provides
coarse access granularity. IOC$K_BUS_DENSE_SPACE
is suitable for mapping device memory buffers such
as graphics frame buffers. In IOC$K_BUS_DENSE_SPACE,
there must be no side effects on reads and it may be
possible for the processor to merge writes. Thus
you should not map device registers in dense
space.
iohandle Pointer to a 64 bit cell. A 64 bit
magic number is written to this cell by IOC$MAP_IO
when the mapping request is successful. The caller
must save the iohandle, as it is an input to
IOC$CRAM_CMD and to the new platform independent
access routines IOC$READ_IO and IOC$WRITE_IO.
Outputs
SS$_NORMAL Success. The address space is mapped. A 64 bit
IOHANDLE is written to the caller’s buffer.
SS$_BADPARAM Bad input argument. For example, the requested
bus address may not be accessible from the CPU, or
the attribute may be unrecognized.
SS$_UNSUPPORTED Address space with the requested attributes
not available on this platform. For example, the
DEC 2000 Model 300 platform does not support EISA memory dense
space.
SS$_INSFSPTS Not enough PTEs to satisfy mapping request.
A–29