mirror of https://github.com/xqemu/xqemu.git
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>
This commit is contained in:
parent
41317e2e2b
commit
073a044410
|
@ -3424,6 +3424,10 @@ void helper_stf_asi(target_ulong addr, int asi, int size, int rd)
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
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 0x70: // Block store primary, user privilege
|
||||||
case 0x71: // Block store secondary, user privilege
|
case 0x71: // Block store secondary, user privilege
|
||||||
if (rd & 7) {
|
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);
|
helper_check_align(addr, 0x3f);
|
||||||
for (i = 0; i < 16; i++) {
|
for (i = 0; i < 16; i++) {
|
||||||
val = *(uint32_t *)&env->fpr[rd++];
|
val = *(uint32_t *)&env->fpr[rd++];
|
||||||
helper_st_asi(addr, val, asi & 0x1f, 4);
|
helper_st_asi(addr, val, asi & 0x19, 4);
|
||||||
addr += 4;
|
addr += 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue