Page 10 of 18
Re: SATA в режиме IDE - полная поддержка
Posted: Sun Nov 24, 2013 3:21 pm
by Mario_r4
На случай важных переговоров:
Объяснение что такое: 80, 85, 8A, 8F контроллеры.
Spoiler:

-
offset09h.png (50.63 KiB)
Viewed 5150 times
Re: SATA в режиме IDE - полная поддержка
Posted: Sun Nov 24, 2013 10:37 pm
by Mario_r4
Сегодня я таки нашел причину проблем с eBox и Asus. В спецификациях этого нет и нашел информацию я все в той же книге Владимира Кулакова "Программирование дисковых подсистем". В ней упоминается, что альтернативный регистр состояния (AC) не снимает запроса прерывания, но не упоминается что основной регистр состояния (SR) снимает запрос прерывания. Сильно сомневаясь я все же решил проверить и это сработало! Просто добавил чтение регистра в обработчик прерывания и это решило проблему.
Re: SATA в режиме IDE - полная поддержка
Posted: Mon Nov 25, 2013 11:15 pm
by Mario_r4
SVN r. 4291 Исправлены баги приводящие к зависаниям при работе с IDE DMA в режиме SATA Native.
Также отмечаю тот факт, что поскольку драйвер ATAPI работает только в режиме PIO, то жесткий диск висящий с ним на одном канале также будет работать в режиме PIO. По крайней мере такое я наблюдаю на одном своем ноутбуке. Решение не идеальное, но пока нет кода для работы с ATAPI приводами дисков в режиме DMA это временное решение проблемы и оно работает. Несмотря на то что физически SATA контроллеры независимы, но в режиме эмуляции старого IDE они подвержены этому ограничению. Так что если есть возможность развесить на разные каналы, то лучше это сделать. В ноутбуке разумеется это сложно, а может и невозможно, если производитель пожадничал, но на стационарном компьютере вполне возможно - просто переткнуть кабель в другой разъем SATA на материнке.
По прежнему поддерживается только один контроллер и еще немало работы.
Еще нужно сделать проверку флагов, поскольку SATA контроллеры более подвержены ошибкам передачи данных по шлейфу и это нужно учесть в коде. Пока такой проверки нет.
Re: SATA в режиме IDE - полная поддержка
Posted: Tue Nov 26, 2013 11:00 pm
by 0CodErr
В режиме только SATA работает.
В режиме SATA+PATA зависла оба раза из двух.
В режиме PATA тоже зависла.
Зависает на этом месте:
Spoiler:

Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 12:46 am
by yogev_ezra
Code: Select all
VMware® Workstation (Version 7.0.1 build-227600)
Host OS version: Windows 7 Professional, 64-bit 6.1.7601, Service Pack 1
CPU: Intel Core i5-3570 @ 3.40 GHz
RAM: 8GB
SVN r4297. На первом канале висит IDE Hard Disk, на втором - IDE CD-ROM. Почему-то устанавливается режим PIO, хотя, если я правильно тебя понял, должно быть уже DMA. Если удалить CD-ROM и оставить только Hard Disk, всё равно остаётся PIO. Логи прилагаю.
Spoiler:

-
ScreenShot644.png (30 KiB)
Viewed 5026 times
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 2:45 am
by punk_joker
Насколько я понял, DMA у меня на ноуте завелось. Логи прилагаю
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 7:26 am
by Mario_r4
0CodErr
Согласно прилагаемым логам у тебя завелось и работает. ATAPI привода либо нет, либо подключен в другие разъемы, которые в текущей схеме не поддерживаются.
Нужны логи от сборки SVN. r. 4290, в двух оставшихся схемах подключения.
Еще желательно включить опцию С в синем загрузочном экране и сфоткать правый столбик в SVN r. 4291 (Где зависает на обоих вариантах), поскольку фото левого столбика мало что объясняет.
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 7:29 am
by Mario_r4
yogev_ezra
Вечером посмотрю код. Может поставлю эмулятор и буду смотреть в чем проблема.
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 7:31 am
by Mario_r4
punk_joker
Да, у тебя работает как задумано.
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 6:31 pm
by Mario_r4
yogev_ezra
Просьба протестировать SVN r. 4303 на VMware.
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 9:22 pm
by yogev_ezra
Mario_r4 wrote:yogev_ezra
Просьба протестировать SVN r. 4303 на VMware.
Протестировал SVN r. 4305, теперь вроде устанавливает как и задумано - Hard Disk: DMA, CD-ROM: PIO.
Как я могу проверить, есть ли разница в скорости между PIO и DMA? Есть какая-то утилита для тестирования?
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 9:33 pm
by Mario_r4
Утилит нет, только косвенно - например прочитав/скопировав большой файл и засекая время.
Если есть желание можешь написать такую утилиту сам.
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 9:38 pm
by yogev_ezra
Mario_r4 wrote:Утилит нет, только косвенно - например прочитав/скопировав большой файл и засекая время.
Если есть желание можешь написать такую утилиту сам.
Ясно. Ну логи-то хоть правильные теперь были?
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 9:41 pm
by Mario_r4
yogev_ezra wrote:Ну логи-то хоть правильные теперь были?
Да.
Re: SATA в режиме IDE - полная поддержка
Posted: Wed Nov 27, 2013 11:16 pm
by 0CodErr
-
- pcidev(r3534 sata+pata).txt
pcidev(r3534 pata).txt
pcidev(r3502 SATA+PATA).txt
pcidev(r3502 PATA).txt
Boardlog(r3534 SATA+PATA).txt
Boardlog(r3534 pata).txt Downloaded 248 times