Bring the long-pending SDEI extension into mainline. This allows to generate management interrupts via the firmware provided Software Delegated Exception Interface (SDEI). With this in place, we can pass the GICC through, permitting guest interrupt delivery without vm-exits.
The feature requires SDEI support for the given target, and that is currently only available via upstream TF-A for imx8. Patches for zynqmp and QEMU are to-be-finished/submitted [1], other targets could be enabled similarly. Jan [1] http://git.kiszka.org/?p=arm-trusted-firmware.git;a=shortlog;h=refs/heads/queue Jan Kiszka (11): arm-common: Reorder gicv2_cpu_init arm/arm64: Expand return type of smc helpers to long arm/arm64: Add further smc helpers arm64: Reorder arch_cpu_init arm-common: Add SDEI-based management event injection support arm-common: Pass through GIC CPU interface in SDEI mode arm64: Add SDEI-based management interrupt handling arm64: Do not trap interrupts when using SDEI arm-common: Improve PSCI documentation arm-common: Handle SDEI case in PSCI CPU_SUSPEND arm-common: Detect availability of SDEI on arm64 hypervisor/arch/arm-common/control.c | 9 +++- hypervisor/arch/arm-common/gic-v2.c | 52 +++++++++++-------- hypervisor/arch/arm-common/gic-v3.c | 6 ++- .../arch/arm-common/include/asm/control.h | 1 + .../arch/arm-common/include/asm/smccc.h | 19 ++++++- hypervisor/arch/arm-common/irqchip.c | 10 +++- hypervisor/arch/arm-common/psci.c | 13 +++-- hypervisor/arch/arm-common/setup.c | 6 ++- hypervisor/arch/arm-common/smccc.c | 29 ++++++++--- hypervisor/arch/arm/control.c | 5 ++ hypervisor/arch/arm/include/asm/smc.h | 16 +++++- hypervisor/arch/arm64/asm-defines.c | 1 + hypervisor/arch/arm64/control.c | 11 ++++ hypervisor/arch/arm64/entry.S | 18 +++++++ hypervisor/arch/arm64/include/asm/entry.h | 2 + .../arch/arm64/include/asm/percpu_fields.h | 3 +- hypervisor/arch/arm64/include/asm/smc.h | 37 ++++++++++++- hypervisor/arch/arm64/setup.c | 27 ++++++++-- hypervisor/arch/arm64/traps.c | 10 ++++ 19 files changed, 230 insertions(+), 45 deletions(-) -- 2.26.2 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/cover.1616139045.git.jan.kiszka%40siemens.com.
