skip book previous and next navigation links
go up to top of book: HP OpenVMS Alpha Partitioning and Galaxy Guide HP OpenVMS Alpha Partitioning and Galaxy Guide
go to beginning of chapter: OpenVMS Galaxy Device Drivers OpenVMS Galaxy Device Drivers
go to previous page: How PCI Direct-Mapped DMA Works Prior to OpenVMS Version 7.2 How PCI Direct-Mapped DMA Works Prior to OpenVMS Version 7.2
go to next page: IOC$NODE_DATA Changes to Support Nonzero Direct-Mapped DMA WindowsIOC$NODE_DATA Changes to Support Nonzero Direct-Mapped DMA Windows
end of book navigation links

How PCI Direct-Mapped DMA Works in Current Versions of OpenVMS  



Galaxy and memory-hole considerations force OpenVMS to change the placement of the direct-mapped DMA window, as shown in OpenVMS DMA.  

Figure 2  OpenVMS DMA  
test

It is unknown from the driver's perspective where in memory the base of the direct-mapped DMA window will be. Simply comparing a buffer address against the length of the window is not enough to determine whether a buffer is within the direct-mapped DMA window. Also, comparing against MMG$GL_MAXPFN will no longer guarantee that all of the pool is within the window. The correct cell to check is MMG$GL_MAX_NODE_PFN. Additionally, alignment concerns may require that a slightly different offset be incorporated into physical bus address calculations.


go to previous page: How PCI Direct-Mapped DMA Works Prior to OpenVMS Version 7.2 How PCI Direct-Mapped DMA Works Prior to OpenVMS Version 7.2
go to next page: IOC$NODE_DATA Changes to Support Nonzero Direct-Mapped DMA WindowsIOC$NODE_DATA Changes to Support Nonzero Direct-Mapped DMA Windows