ZCOM Tables and Data Structures

Interface Table

IFIRQBUF, IRESPBUF, ISTDTBUF - DMA response buffers

These are response buffers that are written to by DMA read requests to the Mux interface card. The FIRQ buffer contains the results of an $FIRQ backplane transaction. The Response buffer contains the response that provides the DAM with the completion status from the Mux card firmware. The Status buffer contains the data returned from a $STDT transaction. This data is updated into the physical terminal tables by the DAM. The actual area being used is offset by the number of bytes specified in IFBOFF. This area is accessed by the pointer set up in the corresponding pointer fields IFIRQBP, IRESPBP, ISTDTBP. These fields are not used for ACC E1/T1 cards.

ISCRATCH - Scratch area for buffer alignment

This area is needed to insure that DMA buffers can be aligned on a 64-byte boundary. This is a requirement of the hardware.

IFPLOOK - Physical terminal table lookup

This table is used by the DAM during FIRQ processing to determine the physical terminal table address based on the port and terminal number passed back from the Mux interface. It is indexed by the value [(port number * 8) + terminal number] for the 2/8-channel NIO and EISA ACC cards. For the ACC E1/T1 and 8-Port PCI cards, it is simply indexed by the terminal number. The DAM uses this table as an interrupt vector to the PTT associated with an unsolicited interrupt (FIRQ). This table is variable in size and is dynamically allocated from HP-UX kernel memory. Usually only a few of the values in the array are used. Unused entries are null filled. The LDM creates and initializes this table during startup of the ZCOM subsystem. This table is not accessible by user space applications.

This field is an array of pointers, which will be accessed by an array index.

92

Chapter 3

Page 92
Image 92
HP UX 11i v1 I/O Cards manual IFIRQBUF, IRESPBUF, Istdtbuf DMA response buffers