On 29 May 2018 at 10:08, Auger Eric <eric.au...@redhat.com> wrote: > Hi Peter, > On 05/22/2018 02:27 PM, Peter Maydell wrote: >> On 13 May 2018 at 15:35, Eric Auger <eric.au...@redhat.com> wrote: >>> To prepare for multiple redistributor regions, we introduce >>> an array of uint32_t properties that stores the redistributor >>> count of each redistributor region. >>> >>> Non accelerated VGICv3 only supports a single redistributor region. >>> The capacity of all redist regions is checked against the number of >>> vcpus. >>> >>> Machvirt is updated to set the count to 123 vcpus for the unique >>> redistributor region we currently have.
>>> + >>> + if (type == 3) { >>> + qdev_prop_set_uint32(gicdev, "len-redist-region-count", 1); >>> + qdev_prop_set_uint32(gicdev , "redist-region-count[0]", >>> + vms->memmap[VIRT_GIC_REDIST].size / 0x20000); >> >> We used to create a region which had num_cpu redistributors in it; >> won't this cause us to create one which has as many redistributors >> as will fit in the space ? > Is that an issue? From a machine perspective the whole region is > reserved for rdist. dt and ACPI will expose this whole region and the > device will use a subset of it? I agree I need to document this change > in the commit message though. It's a difference, and a guest-visible difference too. This patchset is supposed to be introducing split-redistributor-regions, not changing the behaviour of other configs. Also, I don't think it makes sense to model a GIC with more redistributors than CPUs: real hardware doesn't look like that AFAIK. thanks -- PMM