Перейти к содержанию
    

Ошибки паритета PCI и Windows.

Можно ли у Windows узнать об ошибке паритета на транзакции чтения по шине PCI?

При записи ошибку можно зарегистрировать, обработать и самому. А при чтении у кого об этом спрошивать? Самым простым (и единым, стандартным) вариантом было-бы у ОС или у драйвера шины. Иначе придется разбираться с мостами, хостами, чипсетами .. , и надежды осилить все это не много.

Этот вопрос уже поднимался на телесистемах, но ответа вроде не проэвучало. Может здесь, где вроде пока не столь оживленно, можно разобраться в этом важном (я так думаю) моменте для разработчиков железа и дайверов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно многие чипсеты не проверяют паритет. Или эта опция в них не используется. Я делал интерфейс (простой PCI-target) и при этом на паритет нагло наплевал. Однако ничего страшного не произошло. Интерфейс прекрасно работает (проверено наверное на 15 различных материнках), при этом никаких сообщений обшибках от Винда или от биоса или еще от чего не наблюдается. Возможно чипсеты не причем, а просто биос или ОС необрабатывают это ошибки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На своих платах поступал аналогично, и работает тоже вроде везде. Для устройств, с небогатыми ресурсами плисины и не критичных к ошибкам, такое решение наверно приемлимо. Но как быть, если контроль нужен?

При чтении из устройства ошибка фиксируется задатчиком обмена (мастером то бишь). При этом для того, чтобы узнать об ошибке необходимо знать и у кого и как спрашивать. Во-вторых, неизбежно придется терять время на эти опросы. Думаю самостоятельное решение этих проблем не есть правильный путь. Логичнее было бы узнать от Винды об ошибке по событию, исключению, прерыванию .. Но вот как договориться с ОС на сей счет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не всё так радужно. Если на маме установлена 3Com-овская или Marwell-овская сетевуха на гигабит, будут проблемы вплоть до полного зависания мамки. Пробовал на Asus P4C800 и Asus A8V. Эти чипаки выставляют PAR Error на шину, а их драйвер это пытается обработать. Если отключать сетевуху или сносить драйвер, то всё ок. Так что лучше не рисковать со стандартами, если конечно Ваше изделие идёт в широкую продажу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня на нескольких старых материнках при ошибках паритета не шли транзакции или висла винда. (зависит от того, что выставляется SERR или PERR)

 

а по поводу:

 

"Можно ли у Windows узнать об ошибке паритета на транзакции чтения по шине PCI?"

 

мосты, как и все ус-ва PCI имеют конфигурационное пространство - туда и обращайтесь (если сможете :) )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С моста прочитать можно - именно таким образом убеждался в работоспособности схеы формирования паритета. При этом на всех доступных мне материнках контроль был отключен (по умолчанию, Виндой). На кой ляд его городить тогда ..?

Но вопрос был о том, как узнать над мостом (иль под мостом ..), т.е. не заморачиваясь на архитектуре, чипсетах и тд и тп? По уму этот момент должен бдить драйвер шины. Но как к нему достучаться, стандартизован ли кокай-нибудь диалог с ним? Что енто такое в общем, и с чем его едяць? Если у кого есть инфа на сей счет - буду благодарен за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...