RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : PCI Dock


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Slavik Gnatenko, 2:467/99
To : Igor Vaskov
Subj : PCI Dock

> > Это на ISA+8259а так было. Потом всё сильно усложнилось.
> Усложнилось. Но как я понял, смысл остался. А смысл в том, что прерывание сигнал в отдельно взятом проводнике.
Типтаво. Только проводник теперь можно коммутировать и программно, пусть и с ограничениями. Вот когда всё железо начнёт поддерживать message signaled interrupts из PCI 2.2 (спека 1998 года между прочим), тогда проводников совсем не будет.

> > Но уже по этой причине шаринг нежелателен. Пока пачка дров проверяет, на железке могут и данные потеряться.
> Зависит от величины пачки. Но 2-3 не сильно нагруженных драйвера должны выживать при современном то быстродействии процессоров.
И величины пачки и чувствительности конкретной железки к задержке. Кстати, важно быстродействие не процессора, а шины.

> > > Посему вопрос - почему в Оси все не так? Почему требуется одно устройство на одну линию прерывания? Винда же как-то справляется с шарингом и проблем никаких.
> > Тут ещё нужно понимать разницу между "посмотрел в винде хотя бы в device manager карту прерываний и увидел массовый шаринг" и "поставил винду поновее, да с дровами чипсета от производителя матплаты и показалось, что оно работает нормально".
> Значит выход то есть. Просто мы не умеем.
Типично такой выход чипсетозависим. Что не интересно.

> Остановимся на IOAPIC. В сильно желтой прессе читал что там 24 линии прерывания. Что косвенно подтверждается логами acpica.
> Все-равно не хватает каждой железяке по отдельному прерыванию. Ну да ладно. Можно было бы как-нибудь получше их скомпановать. Ну хотябы все USB на одно прерывание повесить. Используются не часто. А там сетевой карте и звуку отдать каждому свое эксклюзивно.
64 там линии. И это если он один. На некоторых платах их и 4 бывает.

> Однако в acpi.psd не нашел как bus:device:function привязать к IRQ. Оно вообще это умеет?
ACPI работает с другой абстракцией - IRQLx. Это такая запись для устройства уже в ACPI таблице и в ней по сути собраны все ограничения роутинга данной аппаратной конфигурации. После того, как acpi.psd переключается на IOAPIC, уникальные IRQL получают уникальные IRQ. А вот если IRQL шареная, тогда тапки.

> У меня вообще звук чудит. С 11 прерывания улетает в ACPI на 16, но при этом показывается, что звуком занято и 11 и 16.
> Чем лечить?
А надо? Не улетает, а переключается. На загрузке он скомутирован на 8259а на его IRQ11. На IOAPIC он имеет IRQ16. За что и боролись. Почему он где-то показывается, как 11 - это уже вопрос к тому, что показывает.

> spciirq по моим смутным воспоминаниям не дружит с acpi.psd. Или я не прав?
Не в курсе. Но охотно верю. Им есть за что подраться.

Tue 21 Jun 2011 14:01 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.9.1.10) Gecko/20




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.