|
FreeNOS
|
Go to the source code of this file.
Data Structures | |
| struct | IdentifyData |
| IDENTIFY data presentation. More... | |
| struct | ATADrive |
| Represents a Drive on the ATA bus. More... | |
| class | ATAController |
| AT Attachment (ATA) Host Controller Device. More... | |
Macros | |
| #define | IDENTIFY_TEXT_SWAP(field, size) |
| Swap ASCII bytes from IDENTIFY. More... | |
ATA I/O Bases. | |
| #define | ATA_BASE_CMD0 0x1f0 |
| First ATA Bus Command I/O Base. More... | |
| #define | ATA_BASE_CMD1 0x170 |
| Second ATA Bus Command I/O Base. More... | |
| #define | ATA_BASE_CTL0 0x3f6 |
| First ATA Bus Control I/O Base. More... | |
| #define | ATA_BASE_CTL1 0x376 |
| Second ATA Bus Control I/O Base. More... | |
ATA Command Registers. | |
| #define | ATA_REG_DATA 0 |
| Data port. More... | |
| #define | ATA_REG_ERROR 1 |
| Features and Error info. More... | |
| #define | ATA_REG_COUNT 2 |
| Sector Count. More... | |
| #define | ATA_REG_ADDR0 3 |
| Partial Disk Sector address. More... | |
| #define | ATA_REG_ADDR1 4 |
| Partial Disk Sector address. More... | |
| #define | ATA_REG_ADDR2 5 |
| Partial Disk Sector address. More... | |
| #define | ATA_REG_SELECT 6 |
| Drive Select bit, Flag bits, Extra address bits. More... | |
| #define | ATA_REG_CMD 7 |
| Command port and Regular Status port. More... | |
| #define | ATA_REG_STATUS 7 |
| Regular Status port. More... | |
ATA Status Registers. | |
| #define | ATA_STATUS_ERROR 0x01 |
| Error flag (when set). More... | |
| #define | ATA_STATUS_DATA 0x08 |
| Drive data ready for transfer. More... | |
| #define | ATA_STATUS_BUSY 0x80 |
| Drive is preparing to accept or send data. More... | |
ATA Control Registers. | |
| #define | ATA_REG_RESET 0x4 |
| Software Reset. More... | |
| #define | ATA_REG_INTR 0x2 |
| Interrupt Disable. More... | |
ATA Device Selector Flags. | |
| #define | ATA_SEL_MASTER 0xa0 |
| Master Drive in Legacy mode. More... | |
| #define | ATA_SEL_MASTER_28 0xe0 |
| Master Drive in 28-bit LBA mode. More... | |
| #define | ATA_SEL_MASTER_48 0x40 |
| Master Drive in 48-bit LBA mode. More... | |
ATA Commands. | |
| #define | ATA_CMD_IDENTIFY 0xec |
| Identifies an ATA device, if any. More... | |
| #define | ATA_CMD_READ 0x20 |
| Reads sectors from an ATA device. More... | |
Typedefs | |
| typedef struct IdentifyData | IdentifyData |
| IDENTIFY data presentation. More... | |
| typedef struct ATADrive | ATADrive |
| Represents a Drive on the ATA bus. More... | |
1.8.17