On Fri, 2015-11-20 at 18:48 +1100, David Gibson wrote: > > > @@ -380,9 +380,11 @@ typedef struct opcode_t { > > #if defined(CONFIG_USER_ONLY) > > #define CHK_HV GEN_PRIV > > #define CHK_SV GEN_PRIV > > +#define CHK_HVDR GEN_PRIV > > I'm guessing this is supposed to be CHK_HVRM as below.
Indeed. I had test built ... odd. > > #else > > #define CHK_HV do { if (unlikely(ctx->pr || !ctx->hv)) GEN_PRIV; } while(0) > > #define CHK_SV do { if (unlikely(ctx->pr)) GEN_PRIV; } while(0) > > +#define CHK_HVRM do { if (unlikely(ctx->pr || !ctx->hv || ctx->dr)) > > GEN_PRIV; } while(0) > > #endif > > > > #define CHK_NONE > > @@ -2887,7 +2889,7 @@ static void glue(gen_, name##u)(DisasContext *ctx) > > } > > > > #define GEN_LDUX(name, ldop, opc2, opc3, type) > > \ > > -static void glue(gen_, name##ux)(DisasContext *ctx) > > \ > > +static void glue(gen_, name##ux)(DisasContext *ctx) > > \ > > Extraneous change. Fixed. Thanks. Cheers, Ben.