OSDev
http://osdev.su/

AHCI
http://osdev.su/viewtopic.php?f=7&t=763
Страница 1 из 1

Автор:  Fatal_Error [ 15 июл 2013, 13:05 ]
Заголовок сообщения:  AHCI

и снова здравствуйте :D сегодня у меня такая трабла. читая спецификацию по AHCI я решил прочитать базовый адрес структуры для управления ahci, тобишь BAR5, или ABAR. согласно спецификации базовый адре содержится в битах 31-13. я прочитал регистр 24h писяя. сдвинул прочитанное значение на 13 битов, прочитал что лежит по этому адресу - там нули. ahci вроде инициализировать не нужно. в чем мой промах?

Автор:  pavia [ 15 июл 2013, 16:09 ]
Заголовок сообщения:  Re: AHCI

1) Нужно. В биосе должен быть включен AHCI.
Либо инициировать самому.
2) Не понял зачем сдвигать?. Сдвигать не надо.

Автор:  Fatal_Error [ 15 июл 2013, 18:22 ]
Заголовок сообщения:  Re: AHCI

1) по поводу биоса это я знаю. я имел в виду может его еще как-то программно нужно инициализировать. а как самому включать AHCI? у меня на компе есть сата. но AHCI нигде не могу найти. весь биос перерыл, но параметр AHCI так и не нашел. зато есть RAID и иде.
2) про сдвиг понял сам, просто я прочитал, что в битах 31-13 содержится оффсет, а дальше не читал, вот и двигал :D

Автор:  Himik [ 15 июл 2013, 21:11 ]
Заголовок сообщения:  Re: AHCI

Посмотри в руководстве пользователя на мат. плату, там AHCI должно упоминаться в системной конфигурации и в разделе настройки BIOS. Возможно, что продвинутые настройки BIOS появляются только после нажатия клавиши Ctrl+F1

Автор:  Fatal_Error [ 18 июл 2013, 14:47 ]
Заголовок сообщения:  Re: AHCI

в этой статье http://wiki.osdev.org/AHCI#Find_an_AHCI_controller приводится пример поиска устройств на AHCI. собственно для идентификации пределенного устройства (АТА, ATAPI и т.д.) там используются константы
Код:
#define   SATA_SIG_ATA   0x00000101   // SATA drive
#define   SATA_SIG_ATAPI   0xEB140101   // SATAPI drive
#define   SATA_SIG_SEMB   0xC33C0101   // Enclosure management bridge
#define   SATA_SIG_PM   0x96690101   // Port multiplier

читается ячейка 24h (сигнатура) в пространстве порта. в спецификации биты трактуются так:
BIT Field
31:24 LBA High Register
23:16 LBA Mid Register
15:08 LBA Low Register
07:00 Sector Count Register
и как собственно эти константы связаны с этими данными?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/