Как установить более 4-битное значение в ID ввода / вывода APIC

У меня есть масштабируемый мультипроцессор Xeon и материнская плата с 17 входами / выходами APIC. Глядя на таблицу ACPI, я вижу их все, теперь мне нужно знать, как инициализировать их ID.

Я знаю, что идентификатор APIC ввода / вывода должен быть уникальным, но он должен храниться в IOAPICID - IOAPIC IDENTIFICATION REGISTER в 4-битном пространстве.

По спецификации вижу:

Этот регистр содержит 4-битный идентификатор APIC. Идентификатор служит физическим именем IOAPIC. Все устройства APIC, использующие шину APIC, должны иметь уникальный идентификатор APIC. Арбитражный идентификатор шины APIC для модуля ввода / вывода также записывается во время записи в регистр APICID (в оба загружаются одни и те же данные). Этот регистр должен быть запрограммирован с правильным значением ID перед использованием IOAPIC для передачи сообщений.

Может быть старый подход? Здесь я вижу, что другой идентификатор (идентификатор арбитража шины APIC) используется для арбитража по шине APIC, но новый процессор использует системную шину вместо шины APIC. Это все еще обязательно уникальный идентификатор APIC ввода / вывода, или я могу дублировать некоторые из них? Почему в системе может быть так много входов / выходов APIC?

Спасибо за любую помощь

0 ответов

Другие вопросы по тегам