Hi Khushit, On 5/28/26 7:29 AM, Khushit Shah wrote: > >> On 27 May 2026, at 10:50 PM, Eric Auger <[email protected]> wrote: >> >> My reasoning was: >> >> arm_cpu_post_init >> ---> kvm_arm_add_vcpu_properties >> ---> set_sysreg_prop set the new value in cpu->isar.idregs >> arm_cpu_finalize_features >> ---> arm_cpu_sve_finalize >> ---> arm_cpu_sme_finalize >> ---> arm_cpu_pauth_finalize >> ../.. >> those fonctions do some subsequent isar accesses >> >> So I think in general id reg field settings are applied before composite >> legacy options >> >> Thanks >> >> Eric > > > Nope, kvm_arm_add_vcpu_properties, just adds KVM specific properties. right, wrong copy/paste. kvm_arm_add_vcpu_properties just registers the props > > Right now, set_sysreg_prop are called along with legacy props during Yes options are applied in order but the difference is ID reg field props settings directly touch the isar array while others are stored in some temporary field in either machine or cpu code and analyzed later, for what I see in arm_cpu_realizefn(), either in arm_cpu_finalize_features() or directly in the body. So isar access related to compositive functions should be done after those related to new SYSREG_REG_FIELD props. However I acknoledge the requires a case by case check and testing.
Thanks Eric > > The call stack is: > machvirt_init > ----> set cpu specific machine_props (has-el2, has-el3, mp-affinity) > ----> dev_realize(cpu) > ----> set cmd cpu props (prop set in order they appear in cmdline) > > > Warm Regards, > Khushit
