Move MSI initialization before IO-APIC to fix missing init.

Initializing the IO-APIC will initialize the PCI module, which does
read the MSI config of the devices only when MSIs are available.
Since we initialized them only after that, that condition wasn't met.
Later, due to the uninitialized arch info, MSIs were still marked as
available (0xcc = 204 MSIs). Due to the also uninitialized configured
count, they were always deemed busy however, in effect just breaking
MSI support whereever IO-APICs were available.
This commit is contained in:
Michael Lotz 2012-08-15 23:17:47 +02:00
parent 1026b0a1a7
commit c936a02360

View File

@ -893,8 +893,8 @@ arch_int_init_post_vm(struct kernel_args *args)
status_t
arch_int_init_io(kernel_args* args)
{
ioapic_init(args);
msi_init();
ioapic_init(args);
return B_OK;
}