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