On Tue, Mar 01, 2022 at 04:30:30PM +0000, Peter Maydell wrote: > On Tue, 1 Mar 2022 at 16:28, Daniel P. Berrangé <berra...@redhat.com> wrote: > > > > On Tue, Mar 01, 2022 at 04:16:25PM +0000, Peter Maydell wrote: > > > On Tue, 1 Mar 2022 at 16:08, Peter Maydell <peter.mayd...@linaro.org> > > > wrote: > > > > > > > > On Wed, 23 Feb 2022 at 22:31, Richard Henderson > > > > <richard.hender...@linaro.org> wrote: > > > > > > > > > > Changes for v3: > > > > > * Update emulation.rst. > > > > > * Split out separate update to ID_AA64MMFR0. > > > > > * Hack for avocado. > > > > > > > > > > If the avocado hack isn't acceptable, perhaps just drop the > > > > > last two patches for now? > > > > > > > > I think that given that there are Linux kernels out there > > > > that won't boot if LPA2 is enabled, we should probably have > > > > a -cpu command line option to disable it. Otherwise we might > > > > get a bunch of "why did my kernel stop booting" bug reports. > > > > > > ...and should using a versioned machine type also default > > > -cpu max to not enabling that? Not sure what x86 or other > > > precedent is there. > > > > I don't recall us coming across an important scenario where a guest > > would fail to boot when we /enable/ a given CPU feature on x86, > > requiring us to hide it from -cpu max/host. > > > > Assuming the QEMU/KVM implementation of a CPU feature is correct > > per the relevant spec, then artificially hiding it by default from > > -cpu max feels questionable, as that penalizes non-buggy guest OS. > > Yeah. It's just unfortunate that "buggy guest OS" here is > "every Linux up to 5.11".
Lets say the lpa2 feature was tied so it only gets enabled in the new 7.0 machine type version, even if KVM/QEMU could supports it fine with any machine type version. If someone runs a VM with Linux 5.6 with -cpu max -machine virt' it is going to break. Our choice is then between telling them to change their QEMU config to -cpu max,-lpa2 -machine virt vs telling them to use -cpu max -machine virt-6.2 there's not much practical difference in those scenarios, for someone deploying a new VM instance. It would, however, benefit people who had already previously deployed a VM with QEMU using a explicit versioned machine type. This would be the case for anyone using libvirt, as libvirt always expands the user's config to be fully versioned. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|