запрет прерываний

Тема в разделе "WASM.BEGINNERS", создана пользователем NoName, 26 июн 2008.

  1. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    как запретить все все прерывания?
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    попробуй это:
    Код (Text):
    1. cli
    2. hlt
    если отвиснет - значит запрещает не все прерывания
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    отвиснуть может по NMI

    PS. hlt к запрету прерываний имеет такое же отношение, как CreateFileA к Native API
     
  4. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Помимо обычных прерываний (INT, NMI) есть еще SMI.
     
  5. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Great
    hlt ожидание прерывания. Если и отвиснет, то только после прерывания. Это надо только для проверки. А что касается NMI - только если предварительно подготовиться к этому.
    Ну можно перепрограммировать контроллер, но cli будет достаточно, чтобы запретить.
    Если программировать контроллер, то 20h (A0h для зависимого) командный, 21h (A1h) - данные
     
  6. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    что с nmi делать?
     
  7. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    запрещать путем установки 7-го бита по адресу 0x70 в АП I/O (_обычно_ для совместимости различных чипсетов используется именно этот порт)
    со SMI гораздо сложнее, т. к существует множество компонентов, которые могут его генерировать (к примеру, для ICH8 45 компонентов)