Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 07, 2019 3:59 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 262 posts ]  Go to page Previous 18 9 10 11 1218 Next
Author Message
PostPosted: Sun Sep 01, 2013 10:20 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Mario_r4
А ты запускал нумератор устройств и сохранял devices.dat в образе ?

Нет. Ты же сам сказал, что не нужно - я немного раньше спрашивал.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Mon Sep 02, 2013 9:39 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4
Мы друг друга не поняли. Я имел ввиду что никаких особых телодвижений в коде не требуется, только прочитать номер линии обязательно после APIC_init. Сама же поддержка APIC включается по инструкции в соответствующей теме.


Top
   
PostPosted: Thu Oct 03, 2013 8:22 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SVN r.3964
По результатам олимпиады сделал быстрофикс. До написания полноценного решения контроллер 018A будет функционировать в режиме PIO.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sat Nov 23, 2013 9:12 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Итак промежуточные результаты:

1) Советы viewtopic.php?f=27&t=17&start=504 по проверке флага прерывания помогли запустить еще один ноутбук - Acer Packard Bell.

2) На eBox в режиме IDE Native прерывания продолжают генерироваться, даже если сброшен бит прерывания Bus Master IDE Status Register. Я сделал "слепой" цикл на 5 повторений, после 5 повторения прерывания контроллера явно запрещаются через:
Spoiler: Show
Code:
; 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

Все повторения после первого упорно показывают, что бит прерывания в 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= однако информация там приведенная прогресса, к сожалению, не дала.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sat Nov 23, 2013 11:03 am 
Offline

Joined: Mon Mar 27, 2006 6:33 am
Posts: 673
А может ли помочь делу борьбы с "заморочками" тест проверки работоспособности проблемного железа в Haiku OS
и её, например, исходный код для прояснения сущности проблемы?

P.S. У них, вроде, много железа работает в Os.


Top
   
PostPosted: Sat Nov 23, 2013 12:39 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Kopa wrote:
А может ли помочь делу борьбы с "заморочками" тест проверки работоспособности проблемного железа в Haiku OS
и её, например, исходный код для прояснения сущности проблемы?

P.S. У них, вроде, много железа работает в Os.

В моем случае нет, поскольку я пытаюсь запустить без APIC.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sat Nov 23, 2013 1:47 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Пока рылся в гугле обнаружил полезную литературу http://www.swd.ru/files/pdf/nop/bgtu/BG ... ivanii.pdf
Quote:
О.Л. Никольский
ПРОГРАММИРОВАНИЕ ПРИЛОЖЕНИЙ РЕАЛЬНОГО
ВРЕМЕНИ ДЛЯ ИСПОЛНЕНИЯ В СРЕДЕ ОПЕРАЦИОННОЙ
СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИQNX/NEUTRINO 2
ЧастьII
ОБРАБОТКА ПРЕРЫВАНИЙ В ОПЕРАЦИОННОЙ
СИСТЕМЕ РЕАЛЬНОГО ВРЕМЕНИQNX /NEUTRINO

По прерываниям есть любопытные объяснения.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sun Nov 24, 2013 3:21 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
На случай важных переговоров:
Объяснение что такое: 80, 85, 8A, 8F контроллеры.
Spoiler: Show
Attachment:
offset09h.png
offset09h.png [ 50.63 KiB | Viewed 1345 times ]

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sun Nov 24, 2013 10:37 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Сегодня я таки нашел причину проблем с eBox и Asus. В спецификациях этого нет и нашел информацию я все в той же книге Владимира Кулакова "Программирование дисковых подсистем". В ней упоминается, что альтернативный регистр состояния (AC) не снимает запроса прерывания, но не упоминается что основной регистр состояния (SR) снимает запрос прерывания. Сильно сомневаясь я все же решил проверить и это сработало! Просто добавил чтение регистра в обработчик прерывания и это решило проблему.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Mon Nov 25, 2013 11:15 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SVN r. 4291 Исправлены баги приводящие к зависаниям при работе с IDE DMA в режиме SATA Native.

Также отмечаю тот факт, что поскольку драйвер ATAPI работает только в режиме PIO, то жесткий диск висящий с ним на одном канале также будет работать в режиме PIO. По крайней мере такое я наблюдаю на одном своем ноутбуке. Решение не идеальное, но пока нет кода для работы с ATAPI приводами дисков в режиме DMA это временное решение проблемы и оно работает. Несмотря на то что физически SATA контроллеры независимы, но в режиме эмуляции старого IDE они подвержены этому ограничению. Так что если есть возможность развесить на разные каналы, то лучше это сделать. В ноутбуке разумеется это сложно, а может и невозможно, если производитель пожадничал, но на стационарном компьютере вполне возможно - просто переткнуть кабель в другой разъем SATA на материнке.

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

Еще нужно сделать проверку флагов, поскольку SATA контроллеры более подвержены ошибкам передачи данных по шлейфу и это нужно учесть в коде. Пока такой проверки нет.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Nov 26, 2013 11:00 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
В режиме только SATA работает.
Attachment:
BOARDLOG(SATA).TXT [5.66 KiB]
Downloaded 60 times

В режиме SATA+PATA зависла оба раза из двух.
В режиме PATA тоже зависла.
Зависает на этом месте:
Spoiler: Show
Image

Attachment:
PCIDEV.TXT [2.2 KiB]
Downloaded 63 times


Top
   
PostPosted: Wed Nov 27, 2013 12:46 am 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
Code:
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: Show
Attachment:
ScreenShot644.png
ScreenShot644.png [ 30 KiB | Viewed 1221 times ]


Attachments:
boardlog_vmware_onlyHardDisk.txt [2.22 KiB]
Downloaded 60 times
pcidev_vmware.txt [5.51 KiB]
Downloaded 59 times
boardlog_vmware.txt [2.3 KiB]
Downloaded 59 times
Top
   
PostPosted: Wed Nov 27, 2013 2:45 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
Насколько я понял, DMA у меня на ноуте завелось. Логи прилагаю


Attachments:
LOGS_BY_Punk_Joker.7z [2.35 KiB]
Downloaded 58 times

_________________
я лишь учусь
Top
   
PostPosted: Wed Nov 27, 2013 7:26 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr
Согласно прилагаемым логам у тебя завелось и работает. ATAPI привода либо нет, либо подключен в другие разъемы, которые в текущей схеме не поддерживаются.

Нужны логи от сборки SVN. r. 4290, в двух оставшихся схемах подключения.
Еще желательно включить опцию С в синем загрузочном экране и сфоткать правый столбик в SVN r. 4291 (Где зависает на обоих вариантах), поскольку фото левого столбика мало что объясняет.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Wed Nov 27, 2013 7:29 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
yogev_ezra
Вечером посмотрю код. Может поставлю эмулятор и буду смотреть в чем проблема.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 262 posts ]  Go to page Previous 18 9 10 11 1218 Next

All times are UTC+03:00


Who is online

Users browsing this forum: Yandex [Bot] and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited