7f0b5edd8c
The irq_offload mechanism was using the same entry of the IDT vector for all CPUs on SMP systems. This caused race conditions when two CPUs were doing irq_offload() calls. This patch addresses that by adding one indirection layer: the irq_offload() now sets a per CPU entry with the routine and parameter to be run. Then a software interrupt is generated, and a default handler will do the appropriate dispatching. Finally, test "kernel/smp_abort" is enabled for x86 as it should work now. Fixes #72172. Signed-off-by: Ederson de Souza <ederson.desouza@intel.com> |
||
---|---|---|
.. | ||
core | ||
include | ||
zefi | ||
CMakeLists.txt | ||
Kconfig | ||
gen_gdt.py | ||
gen_idt.py | ||
gen_mmu.py | ||
ia32.cmake | ||
intel64.cmake | ||
timing.c |