Re: [PATCH v3 02/12] KVM: arm/arm64: Document KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION

From: Peter Maydell
Date: Tue Apr 24 2018 - 12:52:02 EST


On 24 April 2018 at 17:46, Christoffer Dall <christoffer.dall@xxxxxxx> wrote:
> On Fri, Apr 13, 2018 at 10:20:48AM +0200, Eric Auger wrote:
>> --- a/Documentation/virtual/kvm/devices/arm-vgic-v3.txt
>> +++ b/Documentation/virtual/kvm/devices/arm-vgic-v3.txt
>> @@ -27,9 +27,32 @@ Groups:
>> VCPU and all of the redistributor pages are contiguous.
>> Only valid for KVM_DEV_TYPE_ARM_VGIC_V3.
>> This address needs to be 64K aligned.
>> +
>> + KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION (rw, 64-bit)
>> + The attr field of kvm_device_attr encodes 3 values:
>> + bits: | 63 .... 52 | 51 .... 16 | 15 - 12 |11 - 0
>> + values: | count | base | flags | index
>> + - index encodes the unique redistributor region index
>
> I'm not entirely sure I understand the purpose of the index field.
> Isn't a redistributor region identified uniquely by its base address?

You need a way to tell the difference beween:
(1) redistributors for CPUs 0..63 at 0x40000000, redistributors
for 64..127 at 0x80000000
(2) redistributors for CPUs 0..63 at 0x80000000, redistributors
for 64..127 at 0x40000000

The index field tells you which order the redistributor
regions go in.

thanks
-- PMM