Message ID | 1310636503-8956-7-git-send-email-tsnsaito@gmail.com |
---|---|
State | New |
Headers | show |
On Thu, Jul 14, 2011 at 11:41 AM, Tsuneo Saito <tsnsaito@gmail.com> wrote: > Support UA2007 block store ASIs for stfa instructions. > > Signed-off-by: Tsuneo Saito <tsnsaito@gmail.com> > --- > target-sparc/op_helper.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c > index b76ffb6..4faa709 100644 > --- a/target-sparc/op_helper.c > +++ b/target-sparc/op_helper.c > @@ -3424,6 +3424,10 @@ void helper_stf_asi(target_ulong addr, int asi, int size, int rd) > } > > return; > + case 0x16: /* UA2007 Block load primary, user privilege */ > + case 0x17: /* UA2007 Block load secondary, user privilege */ > + case 0x1e: /* UA2007 Block load primary LE, user privilege */ > + case 0x1f: /* UA2007 Block load secondary LE, user privilege */ shouldn't these be added to the list in is_translating_asi() ? > case 0x70: // Block store primary, user privilege > case 0x71: // Block store secondary, user privilege > if (rd & 7) { > @@ -3433,7 +3437,7 @@ void helper_stf_asi(target_ulong addr, int asi, int size, int rd) > helper_check_align(addr, 0x3f); > for (i = 0; i < 16; i++) { > val = *(uint32_t *)&env->fpr[rd++]; > - helper_st_asi(addr, val, asi & 0x1f, 4); > + helper_st_asi(addr, val, asi & 0x19, 4); > addr += 4; > } > > -- > 1.7.5.4 > > >
At Thu, 14 Jul 2011 22:46:30 +0200, Artyom Tarasenko wrote: > On Thu, Jul 14, 2011 at 11:41 AM, Tsuneo Saito <tsnsaito@gmail.com> wrote: > > Support UA2007 block store ASIs for stfa instructions. > > > > Signed-off-by: Tsuneo Saito <tsnsaito@gmail.com> > > --- > > target-sparc/op_helper.c | 6 +++++- > > 1 files changed, 5 insertions(+), 1 deletions(-) > > > > diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c > > index b76ffb6..4faa709 100644 > > --- a/target-sparc/op_helper.c > > +++ b/target-sparc/op_helper.c > > @@ -3424,6 +3424,10 @@ void helper_stf_asi(target_ulong addr, int asi, int size, int rd) > > } > > > > return; > > + case 0x16: /* UA2007 Block load primary, user privilege */ > > + case 0x17: /* UA2007 Block load secondary, user privilege */ > > + case 0x1e: /* UA2007 Block load primary LE, user privilege */ > > + case 0x1f: /* UA2007 Block load secondary LE, user privilege */ > > shouldn't these be added to the list in is_translating_asi() ? Ah yes, that's right! ---- Tsuneo Saito <tsnsaito@gmail.com>
diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c index b76ffb6..4faa709 100644 --- a/target-sparc/op_helper.c +++ b/target-sparc/op_helper.c @@ -3424,6 +3424,10 @@ void helper_stf_asi(target_ulong addr, int asi, int size, int rd) } return; + case 0x16: /* UA2007 Block load primary, user privilege */ + case 0x17: /* UA2007 Block load secondary, user privilege */ + case 0x1e: /* UA2007 Block load primary LE, user privilege */ + case 0x1f: /* UA2007 Block load secondary LE, user privilege */ case 0x70: // Block store primary, user privilege case 0x71: // Block store secondary, user privilege if (rd & 7) { @@ -3433,7 +3437,7 @@ void helper_stf_asi(target_ulong addr, int asi, int size, int rd) helper_check_align(addr, 0x3f); for (i = 0; i < 16; i++) { val = *(uint32_t *)&env->fpr[rd++]; - helper_st_asi(addr, val, asi & 0x1f, 4); + helper_st_asi(addr, val, asi & 0x19, 4); addr += 4; }
Support UA2007 block store ASIs for stfa instructions. Signed-off-by: Tsuneo Saito <tsnsaito@gmail.com> --- target-sparc/op_helper.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)