[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [question] hw/arm/virt: about the default gic-version in accelerated
Dr. David Alan Gilbert
Re: [question] hw/arm/virt: about the default gic-version in accelerated mode
Tue, 28 Jan 2020 10:58:58 +0000
* Peter Maydell (address@hidden) wrote:
> On Tue, 28 Jan 2020 at 10:47, Auger Eric <address@hidden> wrote:
> > When arm virt machine is run in accelerated mode with "-cpu host
> > -machine virt", the default gic version is 2.
> > I understand the rationale with TCG where we don't have MSI ITS
> > emulation along with GICv3 so we need to choose GICv2 to get GICv2M
> > functionality.
> > However in KVM mode, I would have expected to see the host GIC probed to
> > set the same version on guest. Indeed most of our HW now have GICv3
> > without GICv2 compat mode so our default values lead to weird traces:
> > "
> > qemu-system-aarch64: PMU: KVM_SET_DEVICE_ATTR: Invalid argument
> > qemu-system-aarch64: failed to set irq for PMU
> > "
> > I would like to propose a patch to improve those errors and also suggest
> > a hint. But I also wanted to know whether you would accept to change the
> > default value with KVM and choose the host version instead of 2. For TCG
> > we would keep v2.
> As with the -cpu option, the default is there for command
> line backward compatibility primarily. Even if we had
> better support for MSI ITS emulation we'd still leave
> the default at GICv2.
I'm curious why; 'virt' is a versioned machine type, the whole point of
versioned machine types is you're allowed to change the behaviour of
them between versions of qemu. If people want their command lines
to stay stable they can specify a version, i.e. -M virt-4.2 and
know that it won't change.
> If you want "do the best you can, regardless of accelerator"
> that is "-cpu max -machine gic-version=max".
> -- PMM
Dr. David Alan Gilbert / address@hidden / Manchester, UK