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:
|
Errors in the ATA Device Software GuideThroughout. All mentions of the ATA-2 standard should be updated. The ATA Manager supports ATA-3 devices as well. Page 4: The ATA disk driver usually has a
driver reference number of -54 (decimal) but may also have a
different reference number if -54 is taken when the driver
is loaded. The driver name is You should never rely on the driver reference number. Use
the Page 6: The The Page 9: The The Page 9: The The Page 11: The The Page 38: ATA_RegAccess The
Page 48: Device Config Structure in ATA 4.0Several of the fields of this structure are obsolete starting with ATA Manager 4.0.
This field is used to specify general device
configuration information. In general,
Device access speed in Polled I/O (PIO) Mode. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. Reserved for future (not supported yet). Reserved for future (not supported yet). Reserved for future (not supported yet). Reserved for future (not supported yet). This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. Specifies the type of socket in which this ATA bus is located. Current socket types are:
Specifies the type of device in this ATA bus. Starting with ATA Manager 4.0, this field only returns one of three device types:
Older versions of the ATA Manager had a device type
defined for PCMCIA devices. This old device type ( This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager to support a different type of accessing mode for PC Card devices. This mode was never implemented, and is not supported. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. This field is obsolete with ATA Manager 4.0. It was used in previous versions of the ATA Manager when the ATA Manager did much of the PC Card socket configuration. This functionality is now handled by other software. This field is used to select the timing mode to be used for Single-Word DMA accesses. This field describes the timing mode used for Multi-Word DMA accesses. This field describes the cycle time to be used for Polled I/O (PIO) accesses. This field describes the cycle time to be used for Multi-Word DMA accesses. Page 56: ATA_MgrInquiry In the Detecting the Presence of the ATA ManagerSome early ROMS could indicate that the ATA Manager exists without proper hardware. This would cause a crash. Therefore, you need to test for the presence of ATA hardware before detecting the presence of the ATA Manager. The following code snippet demonstrates how to detect the ATA Manager properly.
History of the ATA ManagerATA Manager 4.0 vs. ATA Manager 3.1ATA Manager 4.0 is PowerPC-Native.
ATA Manager 4.0 introduces the concept of the ATA Interface
Module or AIM, a plug-in hardware abstraction layer similar
to the SIM of SCSI Manager 4.3. The
ATA Manager 3.1 vs. ATA Manager 3.0The major change from version 3.0 to version 3.1 was the
addition of bus-specific transfer timing information to
function Altered functions for ATA Manager 3.0 are:
The ATA Manager reports its overall data transfer
capabilities via the ATA Manager 3.0 vs. ATA Manager 2.0The major feature added to ATA Manager 3.0 was the support of DMA I/O operations to the device. No new functions were added to the interface, although several functions now accept or report DMA-specific information. Expanded functions for ATA Manager 3.0 are:
ATA Manager 2.0 vs. ATA Manager 1.0The following list outlines several major features which were added in ATA Manager 2.0:
New functions were added and existing functions were
expanded to support new features listed above. Consequently,
different New functions for ATA Manager 2.0 are:
Expanded functions for ATA Manager 2.0 are:
In version 1.0 of the ATA manager, the
ATA Manager 4.0ATA Manager 4.0 is a redesign of the previous ATA Manager (3.1) undertaken in conjunction with the design of the PowerBook 3400. It is our expectation that every new CPU that supports ATA devices will use this new ATA Manager. The API between ATA Manager 4.0 and its clients (typically ATA and ATAPI disk device drivers) is a superset of ATA Manager 3.1. This allows old disk drivers to function correctly with the new ATA Manager. The ATA Manager prior to ATA 4.0 had knowledge about
specific types of ATA bus controllers. When a new CPU was
developed that had a different ATA bus controller, the ATA
Manager needed to be revised. The ATA 4.0 design contains a
hardware abstraction layer called the ATA Interface
Module or AIM. This AIM is a native driver
( The Operating System's Name Registry is used to contain
all of the hardware-specific information related to the ATA
bus controller. The ATA Manager will use the Name Registry
to locate and load the AIM, and the AIM will use CPU
specific information stored in the Name Registry to do its
initialization. For example, the base address of the ATA
registers will be calculated by There is currently no documentation available to external developers who wish to write an AIM. Such developers should contact Developer Support at the Contact Us page. Apple may work together with such developers to help develop appropriate documentation. While ATA Manager 4.0 is PowerPC-native, it still can
be accessed using the 68K trap. If you wish to call the ATA
manager on Power PC-equipped machines, you need to supply
some Mixed Mode glue to call the
Additional Event DocumentationThe following events were not well-documented in ATA Device Software Guide.
This event notifies clients when an ATA or ATAPI device becomes available for use. The event occurs either when a new device is connected to the bus, or when a previously unavailable device becomes available again (as in system wakeup when power is restored to the device). If the device has a registered driver, only that
driver will be notified of the event; otherwise, each
registered default driver will be notified until a driver
responds favorably (that is, with a Drivers should keep track of whether the device
coming online is a newly connected device or one that's
currently offline (that is, connected but not
unavailable). A device should be considered connected
until a
This event notifies the registered driver of an ATA or ATAPI device that the device is now unavailable for use (offline). The device, however, is still connected to the bus and the offline state is assumed to be temporary. This event will occur at system sleep when power is removed. Currently, this event is generated only when the ATA
Manager receives a
This event notifies the registered driver of an ATA
or ATAPI device that the device has been removed. The
removal may be either controlled (for example, a software
eject command to the ATA Manager) or uncontrolled (for
example, a forced removal by the user). Note that the
device may have been in either an online or an offline
state before the removal. If the state was online before
the removal, a
This event notifies the registered driver of an ATA or ATAPI device that the device has been reset. The device may need to be reconfigured by the driver before it can be used again. This event was created for use with multiple devices per bus (ATA Master/Slave mode), since reset applies to all devices on the bus and not to a specific device. Apple currently doesn't implement multiple devices per bus with ATA, so this event isn't implemented. However, drivers now support this event to prevent problems later on when the event is implemented.
This event is obsolete. It was defined for the early stages of the PC Card Manager, which would echo the Power Manager sleep events to its clients. The ATA Manager would in turn echo the request to its clients. This event was like the sleep request event. The current PC Card Manager allows only for an event akin to a sleep demand event, which does not permit rejection by the client.
This event notifies the registered driver of an ATA
or ATAPI device that a request has been made to eject the
device. If the response to the request is 0, the device
will be ejected and a subsequent
Note also that the Obsolete ResourcesThe following are some other places where the ATA Manager has been documented. These documents should be considered obsolete. They are replaced by the ATA Device Software Guide and this technote:
Q&A DV 24, ATA Manager Events Clarified has some additional ATA events. These events are incorporated in this document. This Q&A, which is incorporated in this document, should now be considered obsolete. Q&A DV 26, Calling ataManager on a Power Macintosh demonstrates how to call the ATA Manager from PowerPC code. This Q&A, which is incorporated in this document, should now be considered obsolete. The Q&As of develop issue 26 have some additional documentation of some ATA events. These are the same events discussed in Q&A DV 24, ATA Manager Events Clarified. These events are incorporated in this document. The develop Journal Q&As should be considered obsolete. Valid ResourcesThe ATA Device Software Guide and this document should be considered the current definitive documentation on the ATA Manager. All other documentation that references the ATA Manager should be considered suspect or obsolete. Technote 1094, Virtual Memory Application Compatibility discusses virtual memory and the ATA Manager. This document does not repeat those discussions. You should read Technote 1094 for a further understanding of the interaction of virtual memory and the ATA Manager. Technote DV 22, CD-ROM Driver Calls discusses ATA CD-ROM driver calls. These calls remain valid. You should read Technote DV 22 if you are trying to use an ATA CD-ROM, such as those which ship on the PowerBook 1400 or PowerBook 3400. ATA Demo is sample code demonstrating how to call the ATA Manager. You should look at this code for additional details of how to scan the ATA bus. SummaryATA Manager 4.0 is a superset of ATA Manager 3.0, documented in the ATA Device Software Guide. There are some minor errors in that document. We welcome any additions or corrections to this technote or the ATA Device Software Guide; please use the Contact Us page. ReferencesSome of the following documents may be available from http://fission.dt.wdc.com/x3t13/x3t13.html or ftp://ftp.symbios.com/pub/standards/io/ AT Attachment Interface for Disk Drives, ANSI X3.221-1994, Approved May 12, 1994. AT Attachment Interface with Extensions (ATA-2), ANSI ASC X3.279-1996, revision 3, proposed American National Standard 948D. AT Attachment-3 Interface (ATA-3), ANSI ASC X3.298-199x. AT Attachment-4 Interface (ATA-4), X3T13 draft. ATA packet Interface for CD-ROMs, SFF-8020, Revision 1.2, June 13 1994. Western Digital Enhanced IDE Implementation Guide, by Western Digital Corporation, revision 5.0. Fast ATA Sourcebook, Quantum Corporation, November 1994. Enhanced Disk Drive Specification, by Phoenix Technologies Ltd., version 1.1, January 95. Change History
Downloadables
|