zephyr/arch/x86
Ederson de Souza 7f0b5edd8c arch/x86: Make irq_offload SMP-safe on x86_64
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>
2024-06-04 07:57:06 +02:00
..
core arch/x86: Make irq_offload SMP-safe on x86_64 2024-06-04 07:57:06 +02:00
include build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
zefi arch: x86: avoided increments/decrements with side effects 2024-05-09 15:44:54 +02:00
CMakeLists.txt
Kconfig x86: use CONFIG_PRIVILEGED_STACK_SIZE for stack size 2024-03-08 09:37:36 +01:00
gen_gdt.py x86: synchronize usage of CONFIG_X86_STACK_PROTECTION 2024-04-10 07:44:27 -04:00
gen_idt.py
gen_mmu.py
ia32.cmake
intel64.cmake
timing.c