On 29 June 2018 at 14:29, Luc Michel <luc.mic...@greensocs.com> wrote: > Add the necessary parts of the virtualization extensions state to the > GIC state. We choose to increase the size of the CPU interfaces state to > add space for the vCPU interfaces (the GIC_NCPU_VCPU macro). This way, > we'll be able to reuse most of the CPU interface code for the vCPUs. > > The only exception is the APR value, which is stored in h_apr in the > virtual interface state for vCPUs. This is due to some complications > with the GIC VMState, for which we don't want to break backward > compatibility. APRs being stored in 2D arrays, increasing the second > dimension would lead to some ugly VMState description. To avoid > that, we keep it in h_apr for vCPUs. > > The vCPUs are numbered from GIC_NCPU to (GIC_NCPU * 2) - 1. The > `gic_is_vcpu` function help to determine if a given CPU id correspond to > a physical CPU or a virtual one. > > For the in-kernel KVM VGIC, since the exposed VGIC does not implement > the virtualization extensions, we report an error if the corresponding > property is set to true. > > Signed-off-by: Luc Michel <luc.mic...@greensocs.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM