Specifications
OpenVMS System Routines Called by OpenVMS AXP Device Drivers
IOC$CRAM_QUEUE
Description
IOC$CRAM_QUEUE initiates an I/O operation to a device in remote I/O space
by writing the physical address of the hardware I/O mailbox portion of a CRAM
to the MBPR. Prior to calling IOC$CRAM_QUEUE, a driver typically calls
IOC$CRAM_CMD to insert a command, mask, and remote interconnect address
into the hardware I/O mailbox portion of the CRAM. For CRAMs involved in
writes to device interface registers, the driver must also insert the data to be
written into CRAM$Q_WDATA,
If it is not able to post the mailbox to the MBPR in the MBPR queue timeout
interval (CRAM$Q_QUEUE_TIME), IOC$CRAM_QUEUE returns SS$_
INTERLOCK status to its caller. If the disable-error bit (CRAM$V_DER) is
set, IOC$CRAM_QUEUE does not return an error (although it may request an
IOMBXERR fatal bugcheck in the event of an error).
If IOC$CRAM_QUEUE does successfully queue the mailbox, it sets the CRAM$V_
IN_USE bit in CRAM$B_CRAM_FLAGS and returns SS$_NORMAL.
A–20