OSDev

для всех
Текущее время: 14 дек 2017, 01:28

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 09:26 

Зарегистрирован: 11 ноя 2013, 09:11
Сообщения: 5
Добрый день.

На ПЛИС сделал честный адаптер PCI-e to SATA II (legacy IDE). Поддерживает режиме PIO и SGDMA. VID/DID=0x8086/0x3b26 (слизал с встроенного контроллера на мат.плате MB950F), CC=0x010185. Работает нормально на UBUNTU 10.04 со стандартным драйвером atapiix. Попробовал под Fedora 17. Тут возникла проблема. Драйвер пишет что не может выполнить команду IDENTIFY_DEVICE, и ресетит линк по timeout, err_mask=0x02 (AC_ERR_HSM). В ПЛИС посмотрел отладчиком, команда отправляется, данные приходят, ATA Status Register=0x58 (все ок), хост считывает этот статус, но данные из буфера вычитывать даже не собирается. В чем может быть проблема? не могу понять что не нравится драйверу?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 10:33 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 938
Откуда: Дагоба
Вопрос настолько специфичен, что вряд ли кто-нибудь сможет ответить по делу. Лучше всего в данной ситуации будет посмотреть в исходник линуксового драйвера. Т.е. ковырять не со стороны ПЛИС, а наоборот.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 10:41 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 208
У меня (когда работал с пробросом физических устройств в VM) похожая проблема была, когда не доходило прерывание от устройства.
Быть может, какие-то приколы с поддержкой MSI (в смысле Message-Signalled Interrupt).
Могу предложить добавить к коммандной строке ядра apic=debug msi=debug и посмотреть что напишет. Ну или пытаться разобраться в драйвере, что в случае линухов весьма муторно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 12:18 

Зарегистрирован: 11 ноя 2013, 09:11
Сообщения: 5
Nable писал(а):
(в смысле Message-Signalled Interrupt).

Там MSI, но только не в чистом виде, а Legacy. То есть один msi посылается чтобы установить флаг interrupt, а другой чтобы сбросить. Но тут проблем не должно быть, так как хост, когда выполняет команду identify_device выключает прерывания и работает в режиме опроса.
Разобраться с драйвером проблем нет, только я не пойму где исходники скачать для fedora 17, для убунты легко найти оказалось. Не подскажете где (сорри, возможно, за ламерский вопрос)?

PS: Проверил сейчас на CentOS, тоже работает нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 17:56 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1315
Откуда: Зеленоград
MarK писал(а):
PS: Проверил сейчас на CentOS, тоже работает нормально.

На одном и том же железе, только дистрибутивы разные? (а то, если разные материнки, то ещё и это роль сыграть может, в принципе).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 18:16 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1057
Вопрос на засыпку SATA контролёр интеловский 2-х портовый или 4-рёх портовый?

Собственно предлагаю вам сесть в параллели с SATA диском и записать оригинальный протокол.И сравнить с вашим.
Но вообще странно. Вроде там нет ничего специфичного такого на что может реагировать драйвер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 18:19 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1057
Цитата:
В чем может быть проблема?

А ответ сразу даёте или с задержкой?Т.е. BSY и другие параметры меняете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 19:17 

Зарегистрирован: 11 ноя 2013, 09:11
Сообщения: 5
SII писал(а):
На одном и том же железе, только дистрибутивы разные? (а то, если разные материнки, то ещё и это роль сыграть может, в принципе).

Да, на одном и том же железе.

pavia писал(а):
Вопрос на засыпку SATA контролёр интеловский 2-х портовый или 4-рёх портовый?

Собственно предлагаю вам сесть в параллели с SATA диском и записать оригинальный протокол.И сравнить с вашим.

Контроллер интеловский. Вот только увы не представляю как можно " сесть в параллели с SATA диском"?

pavia писал(а):
А ответ сразу даёте или с задержкой?Т.е. BSY и другие параметры меняете?

Если вы намекаете на 400нс ограничение спецификации, то там и 20 нс нет, все вовремя. После того как мой адаптер получил данные от диска он обновляет бит DRQ и BUSY. Но он не сам их рассчитывает, а берет из PIO Setup FIS в соответсвии со спекой. Проверял -- норм.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 11 ноя 2013, 23:25 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 208
Насчёт исходников ядра - http://fedoraproject.org/wiki/Building_ ... the_Source
+ http://archives.fedoraproject.org/pub/a ... 17.src.rpm
Правда, 17 - уже сравнительно несвежая версия, вроде, сейчас поддерживаются 18 и 19.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI-e to SATA контроллре на FPGA
СообщениеДобавлено: 12 ноя 2013, 19:05 

Зарегистрирован: 11 ноя 2013, 09:11
Сообщения: 5
Спасибо попробую.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB