|
Kintsugi OS 0.5.0
x86 Monolithic OS
|
Macros | |
| #define | ATA_CONTROL 0x3f6 |
| #define | ATA_TIMEOUT 1000000 |
Functions | |
| static void | ata_delay (void) |
| static int | ata_poll (int data) |
| static void | ata_select (u8 drive, u32 lba) |
| int | ata_pio_wait (void) |
| Ожидание готовности диска | |
| int | ata_pio_identify (u8 drive, ata_disk_info_t *info) |
| Определение типа и параметров диска | |
| void | ata_pio_init (void) |
| Инициализация драйвера ATA PIO. | |
| static int | ata_transfer (u8 drive, u32 lba, u8 num, u16 *buffer, int write) |
| int | ata_pio_read_sectors (u8 drive, u32 lba, u8 num, u16 *buffer) |
| Чтение секторов с диска | |
| int | ata_pio_write_sectors (u8 drive, u32 lba, u8 num, u16 *buffer) |
| Запись секторов на диск | |
Variables | |
| ata_disk_info_t | ata_disks [2] |
| #define ATA_CONTROL 0x3f6 |
| #define ATA_TIMEOUT 1000000 |
|
static |
| int ata_pio_identify | ( | u8 | drive, |
| ata_disk_info_t * | info | ||
| ) |
Определение типа и параметров диска
| drive | Тип диска (ATA_MASTER/ATA_SLAVE) |
| info | Указатель на структуру для информации |
| void ata_pio_init | ( | void | ) |
Инициализация драйвера ATA PIO.
Чтение секторов с диска
| drive | Тип диска (ATA_MASTER/ATA_SLAVE) |
| lba | Начальный LBA адрес |
| num | Количество секторов для чтения |
| buffer | Буфер для данных |
| int ata_pio_wait | ( | ) |
Ожидание готовности диска
Запись секторов на диск
| drive | Тип диска (ATA_MASTER/ATA_SLAVE) |
| lba | Начальный LBA адрес |
| num | Количество секторов для записи |
| buffer | Буфер с данными |
|
static |
| ata_disk_info_t ata_disks[2] |