Счастливый человек 7 числа с трезвой головой!
1.
Код:
Правильно ли будет таким образом включать xAPIC одновременно с переносом отображённых в память регистров по адресу 80000h?
Скорее всего нет. Надо детальнее читать документацию.
Дело в том что в документации не сказано кто должен это настраивать. В одних архитектурах это делает БИОС в других он не делает этого.
Во вторых какой-то из APIC ов настраивается только единоразово(перемещение адреса блокируется до перезагрузки).
Тут лучше разобраться с ACPI.
2. В обычном компьютере есть несколько APIC'ков. Есть те что находятся в каждом ядре процессора - LOCAL APIC, а есть те что находятся на материнской плате - IO APIC.
Разумеется в документации на процессор описан только LOCAL APIC ,но не описан IO APIC.
Для того что-бы понять как работать со вторым надо читать документацию на чипсет.
PIIX3 - это южный мост времён пентиума второго (чипсет обычно именуется по южному мосту)
Цитата:
Это документация 1996 года, может с тех пор что-то изменилось?
В общем ничего не поменялась. В частностях да есть.
Цитата:
Вот например, у меня есть клавиатура (странно, да?). Где-то в блогах пишут, что от неё прерывания поступают через LVT LINT1 Register. Почему это так? Где это написано в документации? Как мне направить прерывание от клавиатуры на номер 21h, например. В источнике [3] в списке выше даётся уже готовый рецепт и поверхностное описание, которое мне непонятно.
Это деза. Смотри картинку, на ней реальное подключение. Взята из MultiProcessor Specification.
Клавиатура посылает сигнал в 8042. Который дёргает линию IRQ1
Включения APIC мы уже обсуждали на этом форуме поищи. А так правильнее через ACPI работать.