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. 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. -- Thanks, Oliver