diff options
author | Tsuneo Saito <tsnsaito@gmail.com> | 2011-07-14 18:41:41 +0900 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-07-14 15:36:37 +0000 |
commit | 073a0444104767cce1668799476eb882f8badf59 (patch) | |
tree | e4e2c779c21d56e213cc5bde2569e800f44321ff /target-sparc | |
parent | 41317e2e2b58426ac9a5e1c3083c81840da3ae2b (diff) |
SPARC64: Add UA2007 ASI_BLK_AIU[PS]L? ASIs for stfa
Support UA2007 block store ASIs for stfa instructions.
Signed-off-by: Tsuneo Saito <tsnsaito@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-sparc')
-rw-r--r-- | 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 b76ffb6ff0..4faa7094a5 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; } |