zephyr/soc
Peter Mitsis 0bcdae2c62 kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS
Platforms that support IPIs allow them to be broadcast via the
new arch_sched_broadcast_ipi() routine (replacing arch_sched_ipi()).
Those that also allow IPIs to be directed to specific CPUs may
use arch_sched_directed_ipi() to do so.

As the kernel has the capability to track which CPUs may need an IPI
(see CONFIG_IPI_OPTIMIZE), this commit updates the signalling of
tracked IPIs to use the directed version if supported; otherwise
they continue to use the broadcast version.

Platforms that allow directed IPIs may see a significant reduction
in the number of IPI related ISRs when CONFIG_IPI_OPTIMIZE is
enabled and the number of CPUs increases.  These platforms can be
identified by the Kconfig option CONFIG_ARCH_HAS_DIRECTED_IPIS.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-06-04 22:35:54 -04:00
..
adi/max32 soc: Add the MAX32680 SoC 2024-06-04 19:12:21 -04:00
altr hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
ambiq dts: arm: ambiq: add bt-hci subnode for Apollo3 Blue SOC 2024-05-27 03:27:43 -07:00
andestech llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
arm hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
aspeed hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
atmel soc: atmel: saml2x: Don't do a GCLK SWRST 2024-03-25 16:19:08 +01:00
brcm soc: brcm: add support for BCM2712 2024-04-25 18:06:43 -04:00
cdns llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
common riscv: Align _isr_wrapper to 64 bytes for CLIC 2024-06-04 13:41:49 +02:00
efinix/sapphire hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
ene/kb1200 driver: watchdog: prevent floating point usage 2024-04-03 21:12:17 +01:00
espressif kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS 2024-06-04 22:35:54 -04:00
gaisler hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
gd/gd32 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
infineon soc: psoc6: update pinctrl for PSoC6 MCU (legacy) 2024-06-04 16:35:39 +02:00
intel kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS 2024-06-04 22:35:54 -04:00
ite/ec llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
litex/litex_vexriscv hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
lowrisc/opentitan hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
mediatek/mtk_adsp soc: boards: Add MediaTek MT8195 Audio DSP 2024-06-01 05:40:05 -07:00
microchip soc: microchip: mec: Add new HAL based MEC5 family chips 2024-05-21 16:45:30 -04:00
native/inf_clock hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
neorv32 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
nordic arch: remove the use of z_arch_esf_t completely from internal 2024-06-04 14:02:51 -05:00
nuvoton drivers: i3c: npcx: add HDR-DDR mode for transfer 2024-05-28 09:54:03 +02:00
nxp soc: imx93: enable flexcan driver 2024-06-04 19:14:16 -04:00
openisa/rv32m1 llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
qemu soc: Move non-grouped qemu boards into qemu folder 2024-03-22 00:56:51 +01:00
quicklogic/eos_s3 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
raspberrypi hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
renesas soc: renesas: Fix linker error from multiple IRQ17 2024-06-04 14:04:09 -05:00
renode/riscv_virtual hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
rockchip hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
sifive/sifive_freedom arch/riscv: remove the Kconfig.core file 2024-04-05 16:46:01 +03:00
silabs hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
snps ARC: nSIM: hs5x: align sys clock with other SMP nSIM configs 2024-05-16 15:51:34 +02:00
st/stm32 llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
starfive/jh71xx soc: starfive: jh71xx: select 64BIT for SOC_JH7110 2024-04-09 14:20:39 +02:00
telink/tlsr build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
ti soc: ti: k3: Add support for AM6442 2024-04-24 15:56:01 -04:00
xen hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
xlnx soc: xlnx: zynq7000: Select SYSCON in SoC config 2024-04-29 09:56:58 +01:00
CMakeLists.txt hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
Kconfig soc: Add SOC_COMPATIBLE_NRF54L* options 2024-05-16 15:19:08 +01:00
Kconfig.v1 scripts: remove boards_legacy sub-folder from list_boards.py 2024-03-22 11:51:58 +01:00
Kconfig.v1.choice 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