cebc7fb16c
- For x86, change the interrupt source method to assign an interrupt source to a specific CPU to return an error value instead of void, thus allowing it to fail. - If moving an interrupt to a CPU fails due to a lack of IDT vectors in the destination CPU, fail the request with ENOSPC rather than panicing. - For MSI interrupts on x86 (but not MSI-X), only allow cpuset to be used on the first interrupt in a group. Moving the first interrupt in a group moves the entire group. - Use the icu_lock to protect intr_next_cpu() on x86 instead of the intr_table_lock to fix a LOR introduced in the last set of MSI changes. - Add a new privilege PRIV_SCHED_CPUSET_INTR for using cpuset with interrupts. Previously, binding an interrupt to a CPU only performed a privilege check if the interrupt had an interrupt thread. Interrupts without a thread could be bound by non-root users as a result. - If an interrupt event's assign_cpu method fails, then restore the original cpuset mask for the associated interrupt thread. Approved by: re (kib) |
||
---|---|---|
.. | ||
atpic_vector.s | ||
atpic.c | ||
ccbque.h | ||
clock.c | ||
dpms.c | ||
elcr.c | ||
elink.c | ||
elink.h | ||
icu.h | ||
isa_dma.c | ||
isa.c | ||
isa.h | ||
nmi.c | ||
npx.c | ||
pmtimer.c | ||
prof_machdep.c | ||
spic.c | ||
spicreg.h | ||
vesa.c |