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.

Reply via email to