19.4 IOC$NODE_DATA Changes to Support Non-zero Direct DMA Windows To alleviate this problem, new function codes have been added to ioc$node_data. Here is a list of all the codes relating to direct DMA, and a description of what the data means. IOC$K_DIRECT_DMA_ This is the base address on the PCI BASE side, or bus address. There is a syn- onym for this function code called IOC$K_DDMA_BASE_BA. IOC$DIRECT_DMA_SIZE On non-Galaxy machines, this re- turns the size of the direct DMA window (in megabytes). On a system where the direct DMA window does not start at zero, the data returned is zero, implying no direct DMA windows exist. IOC$K_DDMA_WIN_SIZE On all systems (as of x6jh) this will always return the size of the direct DMA window (in megabytes). IOC$K_DIRECT_DMA_ This is the base physical address in BASE_PA memory of the direct DMA window. It is probably closely related to mmg$gl_ min_node_pfn, but may be slightly different due to alignment concerns. The address returned with the IOC$K_DIRECT_DMA_ BASE_PA code is necessary to compute the offset.(This usu- ally used to be the 1Gb difference between the memory PA and the bus address).The offset is defined as the signed dif- ference between the base bus address and the base memory address. This is now not necessarily 1Gb.