Author: bonefish Date: 2010-06-15 02:09:51 +0200 (Tue, 15 Jun 2010) New Revision: 37143 Changeset: http://dev.haiku-os.org/changeset/37143/haiku Modified: haiku/trunk/src/system/kernel/device_manager/dma_resources.cpp Log: DMAResource::Init(): Also evaluate the device node's B_DMA_LOW_ADDRESS and B_DMA_HIGH_ADDRESS attributes. Modified: haiku/trunk/src/system/kernel/device_manager/dma_resources.cpp =================================================================== --- haiku/trunk/src/system/kernel/device_manager/dma_resources.cpp 2010-06-15 00:08:27 UTC (rev 37142) +++ haiku/trunk/src/system/kernel/device_manager/dma_resources.cpp 2010-06-15 00:09:51 UTC (rev 37143) @@ -136,6 +136,17 @@ B_DMA_MAX_SEGMENT_COUNT, &value, true) == B_OK) restrictions.max_segment_count = value; + uint64 value64; + if (gDeviceManagerModule.get_attr_uint64(node, + B_DMA_LOW_ADDRESS, &value64, true) == B_OK) { + restrictions.low_address = value64; + } + + if (gDeviceManagerModule.get_attr_uint64(node, + B_DMA_HIGH_ADDRESS, &value64, true) == B_OK) { + restrictions.high_address = value64; + } + return Init(restrictions, blockSize, bufferCount, bounceBufferCount); }