вдруг ктото может прокомментировать в теории операций MSI, APIC, или PCI шину

незнаю у кого/где спросить поетому спрошу здесь

один назойливый клиент спрашивает почему он видит MSI от APIC на PCI шине
система i855+6300ESB (6300ESB это почти ICH4)

посмотрел и я .... и чудо ... я их тоже вижу (PCI-анализатором HP E2925A)

все чудо в том что MSI прерывания "должны" бегать между LocalAPCI и CPU (по FSB), ну
на крайний случай от PCI/PCIe устройств к LocalAPCI (и только в одну сторону !!)
... но совсем не "наружу" от/из системы

А именно этот случай я и имею sad.gif

проблемма осложняется тем, что на всех боле поздних системах это не наблюдается
(вопрос как тогда отлаживать/проверить наличие MSI в системе??) т.е. i915+ICH6, i945+ICH7, i965+ICH8 и пр. PCI-анализатор ничего "не видит"

ну а собственно что я вижу :
попытки чтения/записи в области 0xFEC000XX, 0xFEE0XXXX

причем все красиво, все доступы происходят только при включенном APIC в правильные
регистры, все данные красиво расшифровываются по Интеловским мануалам (т.е. я "вижу" какое прерывание вызвано, как снят флаг - оно отработало )

проверил все таблицы подготавлеваемые БИОСом (_MP_, PCMP, APCI) все красиво sad.gif

да, проблемма присутствует только при включенном APIC (в БИОСе) т.е. WIN/Linux работает c 23 прерываниями, при выключенном APIC никаких обращений к MSI нет и в системе только 15 прерываний

меня начинают терзать сомнения может строгость с MSI поведением появилась только на поздних системах, а на ранних системах MSI гуляло "свободно" по PCI шине?
к сожалению не могу проверить за отсутствием систем на ICH0/1/2/3

вдруг ктото имеет подобные системы ... и о чудо PCI-анализатор !!!
или просто может прокомментировать в теории операций MSI, APIC, или специфики ранних чипсетов

sad.gif .