19.3 How PCI Direct DMA Works in OpenVMS Version 7.2 Galaxy and memory hole considerations force us to possibly change the placement of the Direct DMA window. Memory: PCI | | | | | | IOC$K_DIRECT_DMA_BASE_PA: __________-\ | | \ | | | | \ | | | | \ | | | | \---------------- |------ |1Gb (IOC$K_DDMA_BASE_BA) |------- |-\ | | \ | | \ | | \ | | \ | | IOC$K_DDMA_WIN_SIZE | | \ | | / | | \---------------- |_______|2Gb-1 It is unknown from the drivers perspective where in memory the base of the Direct DMA window will be. Simply com- paring a buffer address against the length of the window will no longer be sufficient to determine if a buffer is within the Direct DMA window. Also, comparing against mmg$gl_ maxpfn will no longer guarantee that all of pool is within the window. The correct cell to check is mmg$gl_max_node_ pfn. Additionally, alignment concerns may require an slightly different offset be incorporated into physical bus address calculations.