zephyr/arch
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
..
arc build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
arm arch: arm: cortex_m: restore comment lost in translation 2024-05-31 09:53:31 -05:00
arm64 debug: EXCEPTION_STACK_TRACE should depend on arch Kconfigs 2024-06-03 03:02:04 -07:00
common drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
mips build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
nios2 build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
posix build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
riscv debug: EXCEPTION_STACK_TRACE should depend on arch Kconfigs 2024-06-03 03:02:04 -07:00
sparc build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
x86 arch/x86: Make irq_offload SMP-safe on x86_64 2024-06-04 07:57:06 +02:00
xtensa build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
CMakeLists.txt cmake: enable -Wshadow partially for in-tree code 2023-08-22 11:39:58 +02:00
Kconfig arch: generalize frame pointer via CONFIG_FRAME_POINTER introduction 2024-05-30 03:00:40 -07:00
Kconfig.v1 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
Kconfig.v2 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
archs.yml hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00