Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > Legacy Documents > Hardware & Drivers >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

PrepareMemoryForIO Options


Q: I am calling PrepareMemoryForIO. What is the meaning of the kIOShareMappingTables bit of the options field of the IOPreparationTable? I've read the documentation in Designing PCI Cards and Drivers for Power Macintosh Computers and it didn't really help.

A: In all existing implementations this bit does nothing. This oversight is an artifact of the difference between the DriverServicesLib model and its implementation on traditional Mac OS. See DTS Q&A DV 43 InterfaceLib and Native Drivers for more information on that topic.

While we're on the subject of PrepareMemoryForIO options, you should note that a number of other options have no effect on current implementations. The full list is given below.

  • kIOShareMappingTables
  • kIOCoherentDataPath
  • kIOTransferIsLogical
  • kIOClientIsUserMode

In addition, the kIOLogicalRanges option must always be set because current implementations do not support preparation based on physical address.

The following options are implemented as documented.

  • kIOMultipleRanges
  • kIOMinimalLogicalMapping
  • kIOIsInput
  • kIOIsOutput

Finally, just in case you're wondering, the following options to CheckpointIO have no effect on current systems.

  • kNextIOIsInput
  • kNextIOIsOutput

The remaining option, kMoreIOTransfers, has its documented effect.

[Sep 22 2000]