---
title: IOATAController
framework: kernel
role: symbol
role_heading: Class
path: kernel/ioatacontroller
---

# IOATAController

The base class for ata controller family. Provides the interface common to all ata bus controllers.

## Declaration

```occ
class IOATAController : IOService
```

## Overview

Overview The header doc for this class is incomplete. The source however is heavily commented and should be consulted until such time as complete header doc is available.

## Topics

### Miscellaneous

- [busCanDispatch](kernel/ioatacontroller/1811873-buscandispatch.md)
- [dispatchNext](kernel/ioatacontroller/1811887-dispatchnext.md)
- [handleCommand](kernel/ioatacontroller/1811902-handlecommand.md)

### DataTypes

- [ExpansionData](kernel/ioservice/expansiondata.md)

### Instance Variables

- [reserved](kernel/ioatacontroller/reserved.md)

### Instance Methods

- [ATAPISecondaryExists](kernel/ioatacontroller/3917635-atapisecondaryexists.md)
- [ATAPISlaveExists](kernel/ioatacontroller/1490687-atapislaveexists.md)
- [allocateDoubleBuffer](kernel/ioatacontroller/1490619-allocatedoublebuffer.md)
- [asyncCommand](kernel/ioatacontroller/1490682-asynccommand.md)
- [asyncData](kernel/ioatacontroller/1490697-asyncdata.md)
- [asyncIO](kernel/ioatacontroller/1490621-asyncio.md)
- [asyncStatus](kernel/ioatacontroller/1490643-asyncstatus.md)
- [bitSigToNumeric](kernel/ioatacontroller/1490639-bitsigtonumeric.md)
- [busCanDispatch](kernel/ioatacontroller/1490660-buscandispatch.md)
- [checkTimeout](kernel/ioatacontroller/1490701-checktimeout.md)
- [completeIO](kernel/ioatacontroller/1490684-completeio.md)
- [configureTFPointers](kernel/ioatacontroller/1490690-configuretfpointers.md)
- [dequeueFirstCommand](kernel/ioatacontroller/1490618-dequeuefirstcommand.md)
- [determineATAPIState](kernel/ioatacontroller/1490702-determineatapistate.md)
- [dispatchNext](kernel/ioatacontroller/1490645-dispatchnext.md)
- [enqueueCommand](kernel/ioatacontroller/1490655-enqueuecommand.md)
- [executeCommand](kernel/ioatacontroller/1490670-executecommand.md)
- [executeEventCallouts](kernel/ioatacontroller/1490623-executeeventcallouts.md)
- [free](kernel/ioatacontroller/1490669-free.md)
- [getConfig](kernel/ioatacontroller/1490665-getconfig.md)
- [getMetaClass](kernel/ioatacontroller/1490694-getmetaclass.md)
- [handleBusReset](kernel/ioatacontroller/1490710-handlebusreset.md)
- [handleCommand](kernel/ioatacontroller/1490650-handlecommand.md)
- [handleDeviceInterrupt](kernel/ioatacontroller/1490654-handledeviceinterrupt.md)
- [handleExecIO](kernel/ioatacontroller/1490663-handleexecio.md)
- [handleOverrun](kernel/ioatacontroller/1490706-handleoverrun.md)
- [handleQueueFlush](kernel/ioatacontroller/1490678-handlequeueflush.md)
- [handleRegAccess](kernel/ioatacontroller/1490708-handleregaccess.md)
- [handleTimeout](kernel/ioatacontroller/1490647-handletimeout.md)
- [init](kernel/ioatacontroller/1490629-init.md)
- [issueCommand](kernel/ioatacontroller/1490672-issuecommand.md)
- [probe](kernel/ioatacontroller/1490674-probe.md)
- [provideBusInfo](kernel/ioatacontroller/1490695-providebusinfo.md)
- [readATAPIByteCount](kernel/ioatacontroller/1490668-readatapibytecount.md)
- [readExtRegister](kernel/ioatacontroller/1490692-readextregister.md)
- [readExtRegister](kernel/ioatacontroller/3676014-readextregister.md)
- [registerAccess](kernel/ioatacontroller/1490637-registeraccess.md)
- [scanForDrives](kernel/ioatacontroller/1490649-scanfordrives.md)
- [selectConfig](kernel/ioatacontroller/1490626-selectconfig.md)
- [selectDevice](kernel/ioatacontroller/1490680-selectdevice.md)
- [selectIOTiming](kernel/ioatacontroller/1490666-selectiotiming.md)
- [softResetBus](kernel/ioatacontroller/1490635-softresetbus.md)
- [start](kernel/ioatacontroller/1490714-start.md)
- [startDMA](kernel/ioatacontroller/1490712-startdma.md)
- [startTimer](kernel/ioatacontroller/1490651-starttimer.md)
- [stopDMA](kernel/ioatacontroller/1490705-stopdma.md)
- [stopTimer](kernel/ioatacontroller/1490631-stoptimer.md)
- [swapBytes16](kernel/ioatacontroller/1490625-swapbytes16.md)
- [synchronousIO](kernel/ioatacontroller/1490703-synchronousio.md)
- [txDataIn](kernel/ioatacontroller/1490686-txdatain.md)
- [txDataOut](kernel/ioatacontroller/1490652-txdataout.md)
- [waitForU8Status](kernel/ioatacontroller/1490699-waitforu8status.md)
- [writeExtRegister](kernel/ioatacontroller/1490676-writeextregister.md)
- [writeExtRegister](kernel/ioatacontroller/3676015-writeextregister.md)
- [writePacket](kernel/ioatacontroller/1490642-writepacket.md)

### Type Methods

- [executeCommandAction](kernel/ioatacontroller/1490634-executecommandaction.md)
- [timeoutOccured](kernel/ioatacontroller/1490688-timeoutoccured.md)

## Relationships

### Inherits From

- [IOService](kernel/ioservice.md)
