KVM: arm64: vgic-its: Introduce migration ABI infrastructure
authorEric Auger <eric.auger@redhat.com>
Thu, 13 Apr 2017 07:06:20 +0000 (09:06 +0200)
committerChristoffer Dall <cdall@linaro.org>
Mon, 8 May 2017 12:35:04 +0000 (14:35 +0200)
commit71afe470e20db133b30730cfa856e5d6854312e9
treeed474996951d6e6be477c076768f32ecf29780ce
parent0979bfa69421279459b4516542503f1d577d2ec5
KVM: arm64: vgic-its: Introduce migration ABI infrastructure

We plan to support different migration ABIs, ie. characterizing
the ITS table layout format in guest RAM. For example, a new ABI
will be needed if vLPIs get supported for nested use case.

So let's introduce an array of supported ABIs (at the moment a single
ABI is supported though). The following characteristics are foreseen
to vary with the ABI: size of table entries, save/restore operation,
the way abi settings are applied.

By default the MAX_ABI_REV is applied on its creation. In subsequent
patches we will introduce a way for the userspace to change the ABI
in use.

The entry sizes now are set according to the ABI version and not
hardcoded anymore.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
include/kvm/arm_vgic.h
include/linux/irqchip/arm-gic-v3.h
virt/kvm/arm/vgic/vgic-its.c