msi: remove the check that interrupt sources have been added
When running as a specific type of Xen guest the hypervisor won't provide any emulated IO-APICs or legacy PICs at all, thus hitting the following assert in the MSI code: panic: Assertion num_io_irqs > 0 failed at /usr/src/sys/x86/x86/msi.c:334 cpuid = 0 time = 1 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffffff826ffa70 vpanic() at vpanic+0x1a3/frame 0xffffffff826ffad0 panic() at panic+0x43/frame 0xffffffff826ffb30 msi_init() at msi_init+0xed/frame 0xffffffff826ffb40 apic_setup_io() at apic_setup_io+0x72/frame 0xffffffff826ffb50 mi_startup() at mi_startup+0x118/frame 0xffffffff826ffb70 start_kernel() at start_kernel+0x10 Fix this by removing the assert in the MSI code, since it's possible to get to the MSI initialization without having registered any other interrupt sources. Reviewed by: jhb Approved by: re (gjb) Sponsored by: Citrix Systems R&D Differential revision: https://reviews.freebsd.org/D17001
This commit is contained in:
parent
d01d12de14
commit
a515acf7bb
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=338624
@ -331,7 +331,6 @@ msi_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
MPASS(num_io_irqs > 0);
|
||||
first_msi_irq = max(MINIMUM_MSI_INT, num_io_irqs);
|
||||
num_io_irqs = first_msi_irq + NUM_MSI_INTS;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user