milos-linux/tools/arch
Sascha Bischoff d51c978b7d KVM: arm64: gic-v5: Communicate userspace-driveable PPIs via a UAPI
GICv5 systems will likely not support the full set of PPIs. The
presence of any virtual PPI is tied to the presence of the physical
PPI. Therefore, the available PPIs will be limited by the physical
host. Userspace cannot drive any PPIs that are not implemented.

Moreover, it is not desirable to expose all PPIs to the guest in the
first place, even if they are supported in hardware. Some devices,
such as the arch timer, are implemented in KVM, and hence those PPIs
shouldn't be driven by userspace, either.

Provided a new UAPI:
  KVM_DEV_ARM_VGIC_GRP_CTRL => KVM_DEV_ARM_VGIC_USERPSPACE_PPIs

This allows userspace to query which PPIs it is able to drive via
KVM_IRQ_LINE.

Additionally, introduce a check in kvm_vm_ioctl_irq_line() to reject
any PPIs not in the userspace mask.

Signed-off-by: Sascha Bischoff <sascha.bischoff@arm.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Link: https://patch.msgid.link/20260319154937.3619520-40-sascha.bischoff@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2026-03-19 18:21:29 +00:00
..
alpha/include uapi: promote EFSCORRUPTED and EUCLEAN to errno.h 2026-01-13 09:58:01 +01:00
arc/include/uapi/asm
arm/include tools headers: Remove unused arm32 asm/kvm.h copy 2025-09-11 16:58:21 -03:00
arm64 KVM: arm64: gic-v5: Communicate userspace-driveable PPIs via a UAPI 2026-03-19 18:21:29 +00:00
csky/include/uapi/asm
hexagon/include/uapi/asm
loongarch/include objtool/LoongArch: Mark special atomic instruction as INSN_BUG type 2025-09-18 19:43:36 +08:00
microblaze/include/uapi/asm
mips/include uapi: promote EFSCORRUPTED and EUCLEAN to errno.h 2026-01-13 09:58:01 +01:00
parisc/include/uapi/asm uapi: promote EFSCORRUPTED and EUCLEAN to errno.h 2026-01-13 09:58:01 +01:00
powerpc/include tools headers: Sync powerpc headers with the kernel source 2025-08-18 13:49:25 -07:00
riscv/include tools: riscv: Fixed misalignment of CSR related definitions 2025-11-16 10:37:38 -07:00
s390/include tools: Remove s390 compat support 2025-11-17 11:10:38 +01:00
sh/include
sparc/include uapi: promote EFSCORRUPTED and EUCLEAN to errno.h 2026-01-13 09:58:01 +01:00
x86 tools headers UAPI: Update tools' copy of linux/coresight-pmu.h 2026-03-05 17:28:44 -03:00
xtensa/include