On Thu, Aug 13, 2020 at 06:26:48PM +0800, Peng Liang wrote: > QEMU does not support disable/enable CPU features in AArch64 for now.
Yes, it does. We have a handful of CPU features implemented as CPU properties and we have QMP support for probing those features and testing whether they may be enabled or disabled. > This patch series add support for CPU features in AArch64. Actually, it just adds all possible features as properties without considering if those features make sense to expose to users and without considering all invalid configurations. That's not a great approach. We should try to tackle migration between non-identical hosts, but not by dumping all the burden of determining a functional configuration on the user. Instead, I think we need to audit what we're currently exposing to guests from KVM. If there are CPU features that make sense for the user to control, then we can do so using patterns for other CPU features that are already under user control. If there are other ID register bits that we should be masking/adjusting, then we can make those changes too. IOW, let's take this one ID register at a time. Eventually, we'll come to the real crux, which is MIDR. We need to provide a guest an MIDR that allows it to migrate between hosts with different MIDRs. That'll likely open the errata can of worms. Thanks, drew