On Fri, May 17, 2013 at 02:23:53PM +0100, Peter Maydell wrote: > Mark up coprocessor register definitions to add raw access > functions or mark the register as non-migratable where necessary. > > Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> > --- > target-arm/helper.c | 94 ++++++++++++++++++++++++++++++++++----------------- > 1 file changed, 63 insertions(+), 31 deletions(-) > > diff --git a/target-arm/helper.c b/target-arm/helper.c > index 2585d59..e5e4ed2 100644 > --- a/target-arm/helper.c > +++ b/target-arm/helper.c > @@ -155,13 +155,17 @@ static const ARMCPRegInfo cp_reginfo[] = { > * the unified TLB ops but also the dside/iside/inner-shareable variants. > */ > { .name = "TLBIALL", .cp = 15, .crn = 8, .crm = CP_ANY, > - .opc1 = CP_ANY, .opc2 = 0, .access = PL1_W, .writefn = tlbiall_write, }, > + .opc1 = CP_ANY, .opc2 = 0, .access = PL1_W, .writefn = tlbiall_write, > + .type = ARM_CP_NO_MIGRATE }, [...] What happens with registers which don't have the raw_write function set (even though the write function imposes some access checks or has side effects) and also is not marked as ARM_CP_NO_MIGRATE, CONTEXTIDR seems to be such an example. ? -Christoffer _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm