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

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

  1. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    также как через порты, только пишешь в память
     
  2. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    261
    То есть кодом
    Я получу IOAPIC ID?
     
  3. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    нет. один регистр индекс, туда пишешь номер рег APIc ID
    второй рег данные, оттуда читаешь
     
  4. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    261
    Вот:
    В eax окажется IOAPIC ID?
     
  5. abcd008

    abcd008 New Member

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

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Нет там выбор либо efi32 efi64 либо uefi32 uefi64. Насколько помню отличается следующим. В первом случае ты будешь писать код на 32битном ассемблере во втором на 64битном. В третим и четвертом будешь писать на п-коде uefi. А процессор будет эмулировать этот код при этом он будет работать в 32 и 64 соответственно режиме.


    Treant
    Если был на OSDEV то наверно видел ссылке.
    http://www.xakep.ru/post/44460/default.asp
    http://www.xakep.ru/post/44508/default.asp

    Да.
    Я думаю он совместим с 8225
     
  7. abcd008

    abcd008 New Member

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

    abcd008 New Member

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

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    У меня возник вопрос:
    перед программированием APIC мы обычно выключаем NMI и маскируем прерывания PIC.
    Я встречал примеры в которых NMI потом не включают.
    А надо его включать или нет????
     
  10. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Если они NMI переводят в SMI то наверно не нужно. Хотя я таких примеров где NMI не включают не видел. Думаю надо.
     
  11. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    261
    Подскажите как перенаправить прерывания через Local APIC или через I/O APIC или и так и так можно или через все вместе взятое?
     
  12. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Если ты в состоянии его правильно обработать или хоть как-то обработать, то нужно. Если же ты не обрабатываешь в своем коде NMI, то его можно включить только для того, чтобы твоя программа упала в самый неподходящий момент. Тебе это нужно?

    Читай документацию.
     
  13. abcd008

    abcd008 New Member

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

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Если кратко, то аппаратная ошибка. Источники могут быть разные.
     
  15. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Ты пишешь, что duet не компилиться под виндой, а как его собрать.
    Блин уже неделю пробую, все ошибки пишет.
    Будет время скинь мне собранный duet (uefi64), весь интернет перерыл не найти.
     
  16. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Так в ПМ давно ссылку отправил.
    Дуржи проверь как работает.
    http://depositfiles.com/files/z5395rs1v
     
  17. abcd008

    abcd008 New Member

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

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Я скачал. А это образ флешки или DVD.
    Чем надо писать. Я пробовал flashboot он сначало чего-то делает, а потом пишет в доступе отказано.
     
  19. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    По поводу обработки NMI я разобрался.
    Но остался вопрос.
    Я читал что NMI запаралелин на все процессоры сразу.
    Это получается, что когда происходит NMI оно сразу вызывает прерывание на всех процессорах???
    если так, то получается, что обработчик несколько раз выведет сообщение об ошибке.
     
  20. Vic3Dexe

    Vic3Dexe New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2009
    Сообщения:
    53
    Нет, это получается, что все ЦПУ получают сообщение об NMI (кстати, как и ExtINT). Кто первый отозвался - тот и папа.
    Поймал это на qemu, запустил все ядра (4 кажется, или сколько я там поставил), на АР зачем-то сделал sti, а потом долго искал на BSP IRQ1, которое вылезло на АР =)