Hi Oliver,
On 6/12/24 13:30, Oliver Upton wrote:
Hi Shaoqin,
On Tue, Jun 11, 2024 at 10:35:50PM -0400, Shaoqin Huang wrote:
Hi guys,
I'm trying to enable migration from MtCollins(Ampere Altra, ARMv8.2+) to AmpereOne(AmpereOne, ARMv8.6+), the migration always fails when migration from MtCollins to AmpereOne due to some register fields differing between the two machines.
In this patch series, we try to make more register fields writable like ID_AA64PFR1_EL1.BT. This is first step towards making the migration possible. Some other hurdles need to be overcome. This is not sufficient to make the migration successful from MtCollins to AmpereOne.
It isn't possible to transparently migrate between these systems. The former has a cntfrq of 25MHz, and the latter has a cntfrq of 1GHz. There isn't a mechanism for scaling the counter frequency, and I have zero appetite for a paravirt interface.
Thanks for letting me know the cntfrq will block the migration between the two machine. And we don't have the solution for it, which means it's impossible to migrate between these systems which have different cntfrq.
On top of that, erratum AC03_CPU_38 seems to make a migration from Neoverse-N1 to AmpereOne quite perilous, unless you hide FEAT_HAFDBS on the source.
These issues are separate, though, from any possible changes to the writability of ID_AA64PFR1_EL1, which still may be useful to userspace.
I think I can still making the ID_AA64PFR1_EL1 writable to enable migration on some other machines.
Thanks, Shaoqin