Программирование APIC

Тема в разделе "WASM.OS.DEVEL", создана пользователем abcd008, 13 окт 2009.

  1. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    народ у меня возникла такая проблема:
    в MP спецификайии есть описание IMCR регистра. Он включает режим PIC или APIC.
    Вопрос в том как узнать есть ли этот регистр или не в системе ACPI, если нет таблици _MP_?????
     
  2. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    не у кого нет мнений???
     
  3. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    IMCR использовался на Pentium pro как костыль. Который не нужен.

    В ACPI есть метод PIC при помощи которого ты можешь задать режим APIC или PIC или SAPIC.
     
  4. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    помоему ты не прав. Linux досих пор использует imcr.
    а метод pic просто выбирает режим для возврата параметров конфигурации устройств.
    я просто разбирал PIC метод, он не выключает pic.

    как тогда по твоему отключить PIC. и заставить работать только APIC?
     
  5. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    В Local APIC запрещаешь PIC при помощи маскирования прерываний по LINT0.
    В IO APIC соответственно если хочешь отказаться совсем от PIC маскируешь 0 вход все остальные разрешаешь. Собственно так и должно быть.

    IO APIC информирует Local APIC о прерывании по шине APIC bus поэтому ему ненужен LINT0.

    А в пентиума1 и второго тоже была 3 vire bus и проблемы.
     
  6. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    еще не проверил. может у кого еще есть какие предложения???
    Блин столько статей про APIC на форуме и не в одном про IMCR.

    Pavia, я так понял, что Ты хочешь сказать, что в новых компах нет IMCR регистра?
    А если он есть, то как это узнать если нет _MP_ таблиц.
     
  7. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Только что проверил, у меня на новом ноуте IMCR есть. Если туда под DOSом записать единицу, то все прерывания перестают обрабатываться. Следовательно PIC отключается.

    Еще я перечитал MP спецификацию. И там написано что IMCR есть во всех системах где есть PIC и APIC одновременно.
    А если PIC отсутствует то надо проверять IMCR через _MP_ таблицу. Но таких систем я еще не встречал, и наверно они не скоро появятся.
    Из этого я сделал вывод, что IMCR есть во всех компах.

    Надеюсь я прав.(ПОПРАВТЕ если не так).
     
  8. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Я думаю ничего страшного в том что ты без проверки будешь использовать этот порт нет. Linux использует. Ты же не проверяешь всякие там PIC.

    IMCR нигде не задокументирован кроме как в MP спецификации. ACPI сообщает что процу принадлежит только один порт 90h. А PIC тоже не принадлежит.
    Еще попадалось что в 286 был порт 22h-23h для чего-то использовался и то как недокументированные. в 286 (APIC нет)

    По поводу статей. Это ты загнул. Тут профессионально кто занимался двое трое остальное шумиха.
     
  9. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    261
    Люди поделитесь пожалуйста каким нибудь рабочим примером работы с APIC (перенаправление прерываний)
    если на FASM то вообще замечательно
     
  10. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Введи в поиске на форуме APIC, и получишь много примеров.
     
  11. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Спасибо я с тобой согласен.
     
  12. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Pavia извини, что не в тему.
    Я помню Тебе удалось собрать сборку DUET для флешки.
    У меня при компиляции все время ошибки. Большая просьба скинь мне рабочий образ флешки(собранный DUET).
    Буду очень благодарен, очень надо.
    Я могу тебе скинуть какую-нибудь документацию, У меня ее много.
     
  13. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Сам пока разбираюсь. могу скинуть пару доков про LOCAL APIC и IO APIC.

    Я сам планирую здесь поднять еще несколько вопросов(например в чем разница между логической и физической адресацией, у меня они работают одинаково).
     
  14. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    У меня почти вся документация есть. Кроме как на NVidea чипсет nforce 4 и на видео карты.


    По поводу DUET тоже надо пересибирать как время найду. Просто на другом компе. А то под витой не собирался masm не работал. Тебе под какую платформу собирать? Просто еще флэшку надо почистить не хочу чтобы в интет попали личные данные с нее.
     
  15. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    261
    abcd008
    Pavia
    Скиньте мне что нибудь на русском плз, если есть то исходники
     
  16. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    А как понять под какую систему? Она же просто грузится и эмулирует UEFI.
    Будет время скинь готовый образ. Я просто хочу системку написать, а проверить неначем.

    По видео картам к меня тоже нет. Только не ATi немного было.
    А у тебя есть кокументация на rtl8185L?
     
  17. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    На русском нечего нет.
    Только:
    OSDEV.ru ищи там
     
  18. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    http://wiki.osdev.ru/
     
  19. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    261
    В память чтоли значения писать.. как в видеобуфер?
     
  20. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    да