On 12/04/2015 07:01 AM, Alex Zuepke wrote: > LEON3 allows the CASA instruction to be used from user space > if the ASI is set to 0xa (user data). > > Signed-off-by: Alex Zuepke <a...@sysgo.de> > --- > target-sparc/translate.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/target-sparc/translate.c b/target-sparc/translate.c > index 41a3319..63440dd 100644 > --- a/target-sparc/translate.c > +++ b/target-sparc/translate.c > @@ -5097,7 +5097,8 @@ static void disas_sparc_insn(DisasContext * dc, > unsigned int insn) > if (IS_IMM) { > goto illegal_insn; > } > - if (!supervisor(dc)) { > + /* LEON3 allows CASA from user space with ASI 0xa */ > + if ((GET_FIELD(insn, 19, 26) != 0xa) && !supervisor(dc)) > { > goto priv_insn; > } > #endif >
Reviewed-by: Richard Henderson <r...@twiddle.net> This should probably be merged for 2.5. For 2.6, I have a branch with substantial changes for the sparc backend. Part of which totally revamps the way ASIs are handled. I believe it gets this right. See git://github.com/rth7680/qemu.git tgt-sparc r~