Как установить более 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?
Спасибо за любую помощь