Нет. Ты же сам сказал, что не нужно - я немного раньше спрашивал.Serge wrote:Mario_r4
А ты запускал нумератор устройств и сохранял devices.dat в образе ?
SATA в режиме IDE - полная поддержка
-
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Mario_r4
Мы друг друга не поняли. Я имел ввиду что никаких особых телодвижений в коде не требуется, только прочитать номер линии обязательно после APIC_init. Сама же поддержка APIC включается по инструкции в соответствующей теме.
Мы друг друга не поняли. Я имел ввиду что никаких особых телодвижений в коде не требуется, только прочитать номер линии обязательно после APIC_init. Сама же поддержка APIC включается по инструкции в соответствующей теме.
SVN r.3964
По результатам олимпиады сделал быстрофикс. До написания полноценного решения контроллер 018A будет функционировать в режиме PIO.
По результатам олимпиады сделал быстрофикс. До написания полноценного решения контроллер 018A будет функционировать в режиме PIO.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Итак промежуточные результаты:
1) Советы viewtopic.php?f=27&t=17&start=504 по проверке флага прерывания помогли запустить еще один ноутбук - Acer Packard Bell.
2) На eBox в режиме IDE Native прерывания продолжают генерироваться, даже если сброшен бит прерывания Bus Master IDE Status Register. Я сделал "слепой" цикл на 5 повторений, после 5 повторения прерывания контроллера явно запрещаются через:
Все повторения после первого упорно показывают, что бит прерывания в Bus Master IDE Status Register сброшен, но прерывания упорно продолжают генерироваться контроллером вызывая мнимое зависание системы. Что за такая хуета происходит с этой железкой еще предстоит разбираться.
3) Мамка Asus "дохнет" даже с изменениями в п.2, просто замерзает и все.
Я в прошлом посте отчетном перепутал малость - это мамка Asrock (native) при первом обращении к жесткому по прежнему отваливается USB стек, потому что они делят между собой одно прерывание, а вот мамка Asus (native) как раз замерзает.
К сожалению советы viewtopic.php?f=27&t=17&start=504 не помогли побороть проблему с отваливающимся контроллером USB, так что возможно я не там копаю.
В процессе гугления нашел страницу http://forum.sources.ru/index.php?showtopic=349091&hl= однако информация там приведенная прогресса, к сожалению, не дала.
1) Советы viewtopic.php?f=27&t=17&start=504 по проверке флага прерывания помогли запустить еще один ноутбук - Acer Packard Bell.
2) На eBox в режиме IDE Native прерывания продолжают генерироваться, даже если сброшен бит прерывания Bus Master IDE Status Register. Я сделал "слепой" цикл на 5 повторений, после 5 повторения прерывания контроллера явно запрещаются через:
Spoiler:
Code: Select all
; Disable interrupts in IDE controller
mov al, 2
mov dx, [IDE_BAR1_val] ;0x3F4
add dx, 2 ;0x3F6
out dx, al
mov dx, [IDE_BAR3_val] ;0x374
add dx, 2 ;0x376
out dx, al
3) Мамка Asus "дохнет" даже с изменениями в п.2, просто замерзает и все.
Я в прошлом посте отчетном перепутал малость - это мамка Asrock (native) при первом обращении к жесткому по прежнему отваливается USB стек, потому что они делят между собой одно прерывание, а вот мамка Asus (native) как раз замерзает.
К сожалению советы viewtopic.php?f=27&t=17&start=504 не помогли побороть проблему с отваливающимся контроллером USB, так что возможно я не там копаю.
В процессе гугления нашел страницу http://forum.sources.ru/index.php?showtopic=349091&hl= однако информация там приведенная прогресса, к сожалению, не дала.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
А может ли помочь делу борьбы с "заморочками" тест проверки работоспособности проблемного железа в Haiku OS
и её, например, исходный код для прояснения сущности проблемы?
P.S. У них, вроде, много железа работает в Os.
и её, например, исходный код для прояснения сущности проблемы?
P.S. У них, вроде, много железа работает в Os.
В моем случае нет, поскольку я пытаюсь запустить без APIC.Kopa wrote:А может ли помочь делу борьбы с "заморочками" тест проверки работоспособности проблемного железа в Haiku OS
и её, например, исходный код для прояснения сущности проблемы?
P.S. У них, вроде, много железа работает в Os.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Пока рылся в гугле обнаружил полезную литературу http://www.swd.ru/files/pdf/nop/bgtu/BG ... ivanii.pdf
По прерываниям есть любопытные объяснения.О.Л. Никольский
ПРОГРАММИРОВАНИЕ ПРИЛОЖЕНИЙ РЕАЛЬНОГО
ВРЕМЕНИ ДЛЯ ИСПОЛНЕНИЯ В СРЕДЕ ОПЕРАЦИОННОЙ
СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИQNX/NEUTRINO 2
ЧастьII
ОБРАБОТКА ПРЕРЫВАНИЙ В ОПЕРАЦИОННОЙ
СИСТЕМЕ РЕАЛЬНОГО ВРЕМЕНИQNX /NEUTRINO
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
На случай важных переговоров:
Объяснение что такое: 80, 85, 8A, 8F контроллеры.
Объяснение что такое: 80, 85, 8A, 8F контроллеры.
Spoiler:
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Сегодня я таки нашел причину проблем с eBox и Asus. В спецификациях этого нет и нашел информацию я все в той же книге Владимира Кулакова "Программирование дисковых подсистем". В ней упоминается, что альтернативный регистр состояния (AC) не снимает запроса прерывания, но не упоминается что основной регистр состояния (SR) снимает запрос прерывания. Сильно сомневаясь я все же решил проверить и это сработало! Просто добавил чтение регистра в обработчик прерывания и это решило проблему.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
SVN r. 4291 Исправлены баги приводящие к зависаниям при работе с IDE DMA в режиме SATA Native.
Также отмечаю тот факт, что поскольку драйвер ATAPI работает только в режиме PIO, то жесткий диск висящий с ним на одном канале также будет работать в режиме PIO. По крайней мере такое я наблюдаю на одном своем ноутбуке. Решение не идеальное, но пока нет кода для работы с ATAPI приводами дисков в режиме DMA это временное решение проблемы и оно работает. Несмотря на то что физически SATA контроллеры независимы, но в режиме эмуляции старого IDE они подвержены этому ограничению. Так что если есть возможность развесить на разные каналы, то лучше это сделать. В ноутбуке разумеется это сложно, а может и невозможно, если производитель пожадничал, но на стационарном компьютере вполне возможно - просто переткнуть кабель в другой разъем SATA на материнке.
По прежнему поддерживается только один контроллер и еще немало работы.
Еще нужно сделать проверку флагов, поскольку SATA контроллеры более подвержены ошибкам передачи данных по шлейфу и это нужно учесть в коде. Пока такой проверки нет.
Также отмечаю тот факт, что поскольку драйвер ATAPI работает только в режиме PIO, то жесткий диск висящий с ним на одном канале также будет работать в режиме PIO. По крайней мере такое я наблюдаю на одном своем ноутбуке. Решение не идеальное, но пока нет кода для работы с ATAPI приводами дисков в режиме DMA это временное решение проблемы и оно работает. Несмотря на то что физически SATA контроллеры независимы, но в режиме эмуляции старого IDE они подвержены этому ограничению. Так что если есть возможность развесить на разные каналы, то лучше это сделать. В ноутбуке разумеется это сложно, а может и невозможно, если производитель пожадничал, но на стационарном компьютере вполне возможно - просто переткнуть кабель в другой разъем SATA на материнке.
По прежнему поддерживается только один контроллер и еще немало работы.
Еще нужно сделать проверку флагов, поскольку SATA контроллеры более подвержены ошибкам передачи данных по шлейфу и это нужно учесть в коде. Пока такой проверки нет.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
В режиме только SATA работает.
В режиме PATA тоже зависла.
Зависает на этом месте:
В режиме SATA+PATA зависла оба раза из двух.В режиме PATA тоже зависла.
Зависает на этом месте:
Spoiler:
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
Spoiler:
- Attachments
-
-
boardlog_vmware_onlyHardDisk.txt (2.22 KiB)Downloaded 212 times
-
pcidev_vmware.txt (5.51 KiB)Downloaded 192 times
-
boardlog_vmware.txt (2.3 KiB)Downloaded 200 times
-
Насколько я понял, DMA у меня на ноуте завелось. Логи прилагаю
- Attachments
-
-
LOGS_BY_Punk_Joker.7z (2.35 KiB)Downloaded 208 times
-
to infinity and beyond
0CodErr
Согласно прилагаемым логам у тебя завелось и работает. ATAPI привода либо нет, либо подключен в другие разъемы, которые в текущей схеме не поддерживаются.
Нужны логи от сборки SVN. r. 4290, в двух оставшихся схемах подключения.
Еще желательно включить опцию С в синем загрузочном экране и сфоткать правый столбик в SVN r. 4291 (Где зависает на обоих вариантах), поскольку фото левого столбика мало что объясняет.
Согласно прилагаемым логам у тебя завелось и работает. ATAPI привода либо нет, либо подключен в другие разъемы, которые в текущей схеме не поддерживаются.
Нужны логи от сборки SVN. r. 4290, в двух оставшихся схемах подключения.
Еще желательно включить опцию С в синем загрузочном экране и сфоткать правый столбик в SVN r. 4291 (Где зависает на обоих вариантах), поскольку фото левого столбика мало что объясняет.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
yogev_ezra
Вечером посмотрю код. Может поставлю эмулятор и буду смотреть в чем проблема.
Вечером посмотрю код. Может поставлю эмулятор и буду смотреть в чем проблема.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Who is online
Users browsing this forum: Bing [Bot] and 20 guests