Author: bonefish Date: 2010-06-23 15:31:03 +0200 (Wed, 23 Jun 2010) New Revision: 37227 Changeset: http://dev.haiku-os.org/changeset/37227/haiku Modified: haiku/trunk/src/add-ons/kernel/busses/ata/ide_isa/ide_isa.c haiku/trunk/src/add-ons/kernel/busses/ata/promise_tx2/promise_tx2.c haiku/trunk/src/add-ons/kernel/busses/ata/silicon_image_3112/silicon_image_3112.c haiku/trunk/src/add-ons/kernel/busses/ide/ide_isa/ide_isa.c haiku/trunk/src/add-ons/kernel/busses/ide/promise_tx2/promise_tx2.c haiku/trunk/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c haiku/trunk/src/add-ons/kernel/generic/ata_adapter/ata_adapter.c haiku/trunk/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c Log: Set B_DMA_HIGH_ADDRESS to 4 GB in the ATA/IDE modules. Modified: haiku/trunk/src/add-ons/kernel/busses/ata/ide_isa/ide_isa.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ata/ide_isa/ide_isa.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/busses/ata/ide_isa/ide_isa.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -75,6 +75,7 @@ // the ata bus manager handles that very efficiently, but why // not use the block device manager for doing that? { B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: 1 }}, + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to identify device { ATA_ISA_COMMAND_BLOCK_BASE, B_UINT16_TYPE, { ui16: command_block_base }}, Modified: haiku/trunk/src/add-ons/kernel/busses/ata/promise_tx2/promise_tx2.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ata/promise_tx2/promise_tx2.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/busses/ata/promise_tx2/promise_tx2.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -192,6 +192,7 @@ { B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: 0x10000 }}, { B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { ui32: ATA_ADAPTER_MAX_SG_COUNT }}, + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to find controller { ATA_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { ui16: bus_master_base }}, Modified: haiku/trunk/src/add-ons/kernel/busses/ata/silicon_image_3112/silicon_image_3112.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ata/silicon_image_3112/silicon_image_3112.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/busses/ata/silicon_image_3112/silicon_image_3112.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -222,6 +222,7 @@ { B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: 0x10000 }}, { B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { ui32: ATA_ADAPTER_MAX_SG_COUNT }}, + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to find controller { "silicon_image_3112/asic_index", B_UINT32_TYPE, Modified: haiku/trunk/src/add-ons/kernel/busses/ide/ide_isa/ide_isa.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ide/ide_isa/ide_isa.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/busses/ide/ide_isa/ide_isa.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -78,6 +78,7 @@ // the ide bus manager handles that very efficiently, but why // not use the block device manager for doing that? { B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: 1 }}, + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to identify device { IDE_ISA_COMMAND_BLOCK_BASE, B_UINT16_TYPE, { ui16: command_block_base }}, Modified: haiku/trunk/src/add-ons/kernel/busses/ide/promise_tx2/promise_tx2.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ide/promise_tx2/promise_tx2.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/busses/ide/promise_tx2/promise_tx2.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -205,6 +205,7 @@ { B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: 0x10000 }}, { B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { ui32: IDE_ADAPTER_MAX_SG_COUNT }}, + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to find controller { IDE_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { ui16: bus_master_base }}, Modified: haiku/trunk/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -231,6 +231,7 @@ { B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: 0x10000 }}, { B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { ui32: IDE_ADAPTER_MAX_SG_COUNT }}, + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to find controller { "silicon_image_3112/asic_index", B_UINT32_TYPE, { ui32: asicIndex }}, Modified: haiku/trunk/src/add-ons/kernel/generic/ata_adapter/ata_adapter.c =================================================================== --- haiku/trunk/src/add-ons/kernel/generic/ata_adapter/ata_adapter.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/generic/ata_adapter/ata_adapter.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -722,10 +722,7 @@ { ui32: max_sg_block_size/*0x10000*/ }}, { B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { ui32: ATA_ADAPTER_MAX_SG_COUNT }}, - { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, - { ui64: 0x100000000LL }}, - // TODO: Add a parameter and set accordingly! For the time being - // play it safe and only allow 32 bit addresses. + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to find controller { ATA_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { ui16: bus_master_base }}, Modified: haiku/trunk/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c =================================================================== --- haiku/trunk/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c 2010-06-23 13:29:25 UTC (rev 37226) +++ haiku/trunk/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c 2010-06-23 13:31:03 UTC (rev 37227) @@ -675,6 +675,7 @@ { ui32: max_sg_block_size/*0x10000*/ }}, { B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { ui32: IDE_ADAPTER_MAX_SG_COUNT }}, + { B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }}, // private data to find controller { IDE_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { ui16: bus_master_base }},