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:
parent
1026b0a1a7
commit
c936a02360
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user