On Tue, Aug 17, 2021 at 05:53:34AM -1000, Richard Henderson wrote: > On 8/17/21 5:36 AM, Andrew Jones wrote: > > On Tue, Aug 17, 2021 at 05:23:17AM -1000, Richard Henderson wrote: > > > On 8/17/21 1:56 AM, Andrew Jones wrote: > > > > I guess it's fine. You could easily create a new cpu_arm_set_sve_vq() > > > > which would forbid changing the properties if you wanted to, but then > > > > we need to answer Peter's question in order to see if there's a > > > > precedent for that type of property. > > > > > > I don't see the point in read-only properties. If the user wants to set > > > non-standard values on the command-line, let them. What is most important > > > is getting the correct default from '-cpu a64fx'. > > > > > > > So maybe we should just go ahead and add all sve* properties, but then > > make sure the default vq map is correct. > > I think that's the right answer. > > Presently we have a kvm_supported variable that's initialized by > kvm_arm_sve_get_vls(). I think we want to rename that variable and provide > a version of that function for tcg. Probably we should have done that > before, with a trivial function for -cpu max to set all bits. > > Then eliminate most of the other kvm_enabled() checks in > arm_cpu_sve_finalize. I think the only one we keep is the last, where we > verify that the final sve_vq_map matches kvm_enabled exactly, modulo max_vq. > > This should minimize the differences in behaviour between tcg and kvm.
That's a good idea. I'll send a patch with your suggested-by. Thanks, drew