
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Страницы: (14) 1 [2] 3 4 ... 13 14 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
не тот случай... скриншоты программ из поста намбер 15 Цитата Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 //-------------жмем any key--------- Controller 0 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. SMM active, request ownership change Wait to SMM asknowledge the ownership change. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h -->> Device Connected, Enable Port: RhPort 0, RhPortStatus: 00000103h <<-- RhPort 1, RhPortStatus: 00000100h //-------жмем any key------------- //------дальше висим-------------- Цитата Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 //----------жмем any key--------- Controller 0 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. SMM active, request ownership change Wait to SMM asknowledge the ownership change. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h -->> Device Connected <<-- RhPort 1, RhPortStatus: 00000100h //-------жмем any key------------- //------дальше висим-------------- Нашел еше одну маму с OHCI 01/13/2003-sis-648-6A7I0G0DC-00 на ней все программы работают аналогично (как описано выше) сходство побитное, единственное отличие - прерывания заведены не в том порядке, а в остальном логи - один в один, и виснет в том же месте Добавлено Если подключить флешку к другому порту то такая картина Цитата ... bla-bla-bla ... //----------жмем any key--------- Controller 0 [OHCI revision: 1.0] SMM active, request ownership change Wait to SMM asknowledge the ownership change. Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h //-------жмем any key------------- //------дальше висим-------------- |
Сообщ.
#17
,
|
|
|
Ну попробуй ещё вот это.
Блин, не могу ошибку найти ![]() Прикреплённый файл ![]() |
Сообщ.
#18
,
|
|
|
была замечена такая штука: если проги из поста 15 сначала запустить с выводом в файл то после этого они начинают работать и с выводом на экран, но если сразу на экран то система вешается. Кстати этим грешил имхо и самый первый твой вариант
![]() ![]() Добавлено Цитата cppasm @ Ну попробуй ещё вот это. то же самое. запускаем без параметров - зависает. Запускаем с выводом в файл - создает файл, и после этого перестает виснуть при выводе на экран. |
Сообщ.
#19
,
|
|
|
Так-с, а это уже интересно...
Видать точно гдето с задержками глюки... Буду смотреть. |
Сообщ.
#20
,
|
|
|
Попробуй ещё вот эти два варианта.
Пробуй уже с выводом на экран наверно, чтоб виснуть перестало... Там в архиве два файла: ohci_1.exe и ohci_2.exe (где-то это уже было ![]() Надеюсь какой-то из них работать будет. В ohci_1.exe я задержек понавтыкал где только можно было, ну а в ohci_2.exe чуть поменьше. Не хотелось бы и лишние ставить... Прикреплённый файл ![]() |
Сообщ.
#21
,
|
|
|
нифига, все то же самое. файлы пишет, при выводе на экран виснет. Кстати самый первый (после включения питания) лог программ отличается от всех последующих. логи прилагаются... я их там подписал какой когда и при каких условиях.
Ну и раз уж все так плохо то я немного расковырял одну из программ (ohci_1.exe) вот дамп: ![]() ![]() cs:0c4c 1e push ds cs:0c4d 55 push bp cs:0c4e 8bec mov bp, sp cs:0c50 83c506 add bp, 06 cs:0c53 33c0 xor ax,ax cs:0c55 8ed8 mov ds,ax cs:0c57 668b5e00 mov ebx,[bp] cs:0c5b 668b4604 mov eax,[bp+04] cs:0c5f 66678903>mov [ebx],eax ; усе баста, здесь улетаем в открытый космос cs:0c63 5d pop bp cs:0c64 1f pop ds cs:0c65 c3 ret и вот чего я не понял так это то чего это делают 32-разрядные регистры в дос-овском коде? это твои выкрутасы или компилятора? Прикреплённый файл ![]() |
Сообщ.
#22
,
|
|
|
Выкрутасы мои
![]() Просто регистры OHCI контроллера отображаются на адреса памяти, естественно за пределами мегабайта. Для доступа использую нереальный режим (Unreal Mode aka Flat Real Mode) - отсюда и регистры 32-битные. Хотя в принципе есть и компиляторы, которые 32-битные регистры в DOS используют. Ошибка может быть и не здесь, отладчику может это не нравиться, т.к. он в Protected Mode работает. Я конечно извиняюсь, если очень напрягаю, но... Не мог бы ты сказать адрес ОТКУДА идет вызов этой процедуры, просто она вызввается из многих мест. Помогло бы для локализации глюка так сказать... |
Сообщ.
#23
,
|
|
|
попоззжее немножко... впрочем для тебя это будет завтра уже..
|
Сообщ.
#24
,
|
|
|
И если можно значения EAX, EBX в момент зависона.
![]() Ну или хотя-бы AX, BX. |
Сообщ.
#25
,
|
|
|
стек вызовов
![]() ![]() main cs:0155 call 09dc cs:0af4 call 050e cs:0553 call 0c4c значения регистров ![]() ![]() eax=00110100 ebx=00110000 |
Сообщ.
#26
,
|
|
|
Спасибо, буду разбираться...
|
Сообщ.
#27
,
|
|
|
Неа, глюк не там.
Как я и писал - это просто отладчику не нравится. Это первое обращение за пределы мегабайта. Попробуй ещё вот это. Там болжны надписи выводиться типа [LINE=xxx]. Вот напиши на какой строке оно загнётся. И ещё Start Line, там тоже такое будет. Прикреплённый файл ![]() |
Сообщ.
#28
,
|
|
|
cppasm этот вариант не зависает
|
Сообщ.
#29
,
|
|
|
есть такое наблюдение - программа виснет когда ожидает ввод с клавиатуры
и соответствующее предположение - может ты чего не того делаешь с контроллером клавиатуры или контроллером прерываний? Ты там как делаешь? В защищенный режим переключаешься? таблицы дескрипторов настраиваешь? Дай чтоли исходники глянуть, чего там у тебя наворочено... |
Сообщ.
#30
,
|
|
|
Щас вышлю, если успею "причесать"...
Я просто уезжаю, так что продолжим в сентябре. ![]() У меня к тому времени доступ к контроллеру появится - думаю станет попроще немного ![]() Но должен успеть. |