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.

r~

Reply via email to