Specifications

Data Structures
1.2 Adapter Control Block (ADP)
1.2 Adapter Control Block (ADP)
Each MASSBUS adapter, UNIBUS adapter, Q22–bus, and VAXBI node configured
in a VAX system is represented to the operating system and driver routines by an
adapter control block (ADP). The ADP stores adapter-specific static and dynamic
data such as the adapter CSR address and map-register wait queues.
Depending upon the type of I/O adapter being described, the ADP size is variable
and subject to the length of the bus-specific ADP extension. Table 1–2 defines
the fields that appear in a UNIBUS ADP; these fields are pictured in Figure 1–3.
Bus-specific extensions start at offset ADP$L_HOSTNODE in the ADP.
Figure 1–3 Adapter Control Block (ADP)
ADP$L_CSR* 0
ADP$L_LINK* 4
ADP$W_SIZE*ADP$B_TYPE*ADP$B_NUMBER* 8
ADP$W_TR*ADP$W_ADPTYPE* 12
ADP$L_VECTOR* 16
ADP$L_DPQFL* 20
ADP$L_DPQBL* 24
ADP$L_AVECTOR* 28
ADP$L_BI_IDR* 32
ADP$W_BI_FLAGS*ADP$W_BI_VECTOR* 36
ADP$L_SCB_PAGE* 40
ADP$L_BIMASTER* 44
ADP$W_ADPDISP_FLAGS*UnusedADP$B_ADDR_BITS* 48
ADP$L_PSWITCH_CALLBACK* 52
Note that the bus-specific ADP extension begins here (for example, a UNIBUS Adapter).
ADP$L_MRQFL (ADP$L_HOSTNODE)* 56
ADP$L_MRQBL* 60
ADP$L_INTD_UBA* (12 bytes) 64
(continued on next page)
1–5