Hello!

> >  I thought about it when i developed this, but in my implementation
> > affinity bits are assigned during CPU instantiation, while feature
> > bits can be added later, during realize. I could tweak set_feature()
> > to sync up MPIDR value but perhaps it isn't the best thing to do.
> 
> Can we not just assign the whole thing at realize?

 kvm_arch_init_vcpu() is called before realize, therefore i would have to track 
down whether KVM is active or not.

> You need to fix the 32-bit side anyway.

 Actually already done in my working tree.

> I still think that having the whole mpidr in the struct will
> be less confusing.

 Ok, if you are really insisting on that, i can assign IDs where this is 
currently done and add feature bits in arm_cpu_realizefn().
 Last argument: the rest of qemu code (property assignment, lookup in PSCI, 
etc) actually needs IDs without feature bits. The only function which needs 
full version is mpidr_read(). So does it still worth of putting AND with 
bitmasks everywhere? May be just rename 'mpidr' to something like 'mp_id' ?

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia


Reply via email to