Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexandr Goncharov                   2:5020/400     14 Nov 2002  08:35:25
 To : "Alexandr S. Agranovsky"
 Subject : Re: вопрос  к   обладателям NE2000 ISA
 -------------------------------------------------------------------------------- 
 
 Alexandr S. Agranovsky <llb@udmnet.ru> wrote:
 ASA>   Hi, Andrey Melnikov
 AM>>  SS> Только IO, IRQ автоматически определяется(обычно).
 AM>>     Hа NE2000 ISA в non pci моде ? Окстись.
 ASA> От такого слышу. Если NE2000-совместимая карточка нормальная, и
 ASA> нет конфликтов по прерываниям, то при верно указанном io порте
 ASA> IRQ действительно определяется автоматически.
 
 Hа пару сообщений назад отмотать не судьба, да?
 Цитирую:
 
 >alexander yuzhakoff wrote:
 >Это если он есть, иначе придется методом проб и ошибок перебрать все
 >варианты  io (примерно от 220 до 380) и  irq (3-12), причем если под ДОСом
 >такая карта заведется несмотря на конфликт прерываний то под  могут
 
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
 
 >быть проблемы
 
 ASA> ---
 ASA> Alexandr S. Agranovsky llb@udmnet.ru
 
 Вот это заявление и вызывает вопрос - а понимает ли автор, что такое
 прерывание и конфликт прерываний. И если понимает - что в таком случае
 понимается под термином "заведется".
 Вообще-то обнаружение устройства и "заведется" - несколько разные вещи, не
 находишь?
 
 Что до определения irq в не-pci режиме (у ISA карт) - допускаю, что в
 каких-то моделях эту информацию можно вынуть из какого-то регистра
 состояний. Hо вообще-то в ISA картах этот кусок схемы строился примерно
 таким образом (от простого к сложному):
 1) событие,вызывающее прерывание -> схема выдачи запроса ->поле джамперов ->
   линии прерываний шины.
 2) тоже самое, но вместо поля джамперов - программируемый коммутатор,
   определяющий, с какой из линий шины скоммутировать вход.
   (jamperless-режим). Доступ к программированию коммутатора - через
   конфигуратор
 3) pnp - к программированию коммутатора и, что немаловажно - к его текущему
   состоянию, имеет доступ операционная система.
 Так вот, если не иметь доступа через регистры io карты к информации
 коммутатора или не знать, в каком именно месте эта информация находится, то
 единственный способ узнать реальный irq карты - поставить ловушку прерываний
 и вызвать событие, генерирующее прерывание. А затем в ловушке посмотреть - а
 какое (в смысле номера) именно прерывание произошло. В основном это внешние 
 события, типа прихода пакета, нажатия клавиши или перемещения мыши. 
 Hе все из них и не на каждой карте можно сымитировать программным способом.
 Плюс к этому, если есть конфликт прерываний - не существует универсального и
 простого способа определить карту, выдавшую запрос прерывания.
 Поэтому универсального способа _определить_ irq при опросе шины не
 существует. А частные методы отличаются от устройства к устройству и тратить
 время при загрузке системы на их перебор - вряд ли разработчики ОС на это
 пойдут. Методы, которые применяются в pnp и pci - есть не _определение_, а
 _назначение_ прерывания устройствам.
 
 И, насколько мне известно, при сканировании устройств ISA шины происходит
 очень простая вешь. Делается запрос по адресу и в случае ответа - считается,
 что обнаружено устройство. Какое - смотрим в ядре. Если у ожидаемого на этом
 адресе устройства можно вычитать через регистр данных какую-то информацию -
 пытаемся считать и сверить с ожидаемой. Если совпало - значит обнаружили то,
 что ожидали. Данные irq берутся из драйвера и обработчик прерывания
 регистрируется. 
 И т.д.
 
 После загрузки все начинает работать, пакеты бегать и пр.
 Вдруг процессору прилетает прерывание, зарегистрированное за этой картой.
 Он прерывает текущую задачу и начинает обрабатывать прерывание по заданной
 драйвером карты программе. А оказывается, что прерывание-то вызвала совсем
 другая карта....
 В результате - в одну карту могут уйти данные, предназначенные другой, а эта
 другая не дождется ответа за свой запрос и может потерять данные.
 Вот это и есть конфликт прерываний.
 И произойдет он (если произойдет) независимо от используемой ОС.
 Всякие pnp, pci - это просто способ устанить проблему _до_ ее возникновения.
 По возможности - средствами ОС, без вмешательства человека.
 Первые NE2000, сколько мне помнится, соответствовали варианту настройки 1)
 Словосочетание NE2000-compatible наводит на мысль, что вряд ли в
 совместимость входит и способы конфигурации адресов IO и IRQ. Скорее, это
 относится к назначению портов IO и алгоритмам работы с картой в ее основном
 режиме. Впрочем, готов поверить в то, что в какой-то из регистров данных
 может транслироваться даже состояние поля джамперов. 
  
 
 P.S. Все вышеизложенное является ответом не на данное конкретное сообщение,
 а скорее развернутая реплика на несколько некорректных фраз, проскочивших у
 участников треда в процессе обсуждения.
 И не является ответом на первоначальный вопрос - "как?". Hа него ответы уже
 были.
  
 
 -- 
 Alexandr V. Goncharov,   | Digital Networks, Tomsktelecom
 AGV-RIPE,      | agv@tomsknet.ru 
 AGV3-RIPN      | phonе: +7(382-2)662510
 --- ifmail v.2.15dev5
  * Origin: Tomsktelecom - Digital Networks (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 вопрос к обладателям NE2000 ISA   NiK   11 Nov 2002 19:23:17 
 Re: вопрос к обладателям NE2000 ISA   alexander yuzhakoff   12 Nov 2002 04:39:37 
 Re: вопрос к обладателям NE2000 ISA   Igor Zakhrebetkov   12 Nov 2002 09:02:19 
 Re: вопрос к обладателям NE2000 ISA   Sergey Shibeko   12 Nov 2002 12:01:58 
 вопрос к обладателям NE2000 ISA   Andrey Melnikov   12 Nov 2002 18:41:46 
 Re: вопрос к обладателям NE2000 ISA   Alexandr S. Agranovsky   12 Nov 2002 21:45:57 
 вопрос к обладателям NE2000 ISA   Andrey Melnikov   12 Nov 2002 22:36:26 
 Re: вопрос к обладателям NE2000 ISA   Alexandr S. Agranovsky   13 Nov 2002 00:41:50 
 Re: вопрос к обладателям NE2000 ISA   Alexandr Goncharov   14 Nov 2002 08:35:25 
 Re: Re: вопрос к обладателям NE2000 ISADate: Thu, 14 Nov 02 04:35:25 G   Alexandr S. Agranovsky   14 Nov 2002 11:58:28 
 Re: вопрос к обладателям NE2000 ISADate: Thu, 14 Nov 02 04:35:25 GM   Alexandr Goncharov   14 Nov 2002 13:07:08 
 Re: вопрос к обладателям NE2000 ISA   Sergey Shibeko   12 Nov 2002 12:00:12 
 Re: вопрос к обладателям NE2000 ISA   alexander yuzhakoff   13 Nov 2002 04:23:25 
 Re: вопрос к обладателям NE2000 ISA   Dmitry Ponyatov   14 Nov 2002 19:44:14 
 вопрос к обладателям NE2000 ISA   Nikita Kuznezov   12 Nov 2002 16:07:54 
 Re: вопрос к обладателям NE2000 ISA   Ilay Gorokhovatsky   12 Nov 2002 21:07:39 
 вопрос к обладателям NE2000 ISA   Nikita Kuznezov   12 Nov 2002 23:49:28 
 Re: вопрос к обладателям NE2000 ISA   Ilay Gorokhovatsky   19 Nov 2002 01:57:46 
Архивное /ru.linux/122327d8bb0ba.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional