At the moment: * aarch64_a64fx_initfn() calls aarch64_add_sve_properties() * aarch64_max_tcg_initfn() calls all of aarch64_add_pauth_properties(), aarch64_add_sve_properties(), aarch64_add_sme_properties()
and it happens that (ignoring 'max') we only have a64fx implementing SVE and no CPUs implementing Pauth or SME yet. Is the idea that all CPUs (both ones trying to match real hardware and ones which are QEMU-specific like 'max') should call these functions to set up the properties if they exist? Or is the idea that 'max' is special and match-real-hardware CPUs don't need the user-facing configurability? If the former, maybe it would be better to put these in arm_cpu_post_init() so they're automatically called if the CPU specific initfn set the ID register value that indicates the presence of pauth/sve/sme. If the latter, A64FX is an odd-one-out for creating the SVE props. I ask because Neoverse-V1 has both SVE and Pauth, and I'm not sure if its init fn should be calling these functions. thanks -- PMM