void CCIO_INLINE ccio_io_pdir_entry (u64 * pdir_ptr, space_t sid, void * vba, unsigned long hints);
Given a virtual address (vba, arg2) and space id, (sid, arg1), load the I/O PDIR entry pointed to by pdir_ptr (arg0). Each IO Pdir entry consists of 8 bytes as shown below (MSB == bit 0):
+------+----------------+-----------------------------------------------+ | Phys | Virtual Index | Phys | | 0:3 | 0:11 | 4:19 | |4 bits| 12 bits | 16 bits | +------+----------------+-----------------------------------------------+
+-----------------------+-----------------------------------------------+ | Phys | Rsvd | Prefetch |Update |Rsvd |Lock |Safe |Valid | | 20:39 | | Enable |Enable | |Enable|DMA | | | 20 bits | 5 bits | 1 bit |1 bit |2 bits|1 bit |1 bit |1 bit | +-----------------------+-----------------------------------------------+
The virtual index field is filled with the results of the LCI (Load Coherence Index) instruction. The 8 bits used for the virtual
19 of the value returned by LCI.