SPARC64: Add UA2007 ASI_BLK_AIU[PS]L? ASIs for stfa
authorTsuneo Saito <tsnsaito@gmail.com>
Thu, 14 Jul 2011 09:41:41 +0000 (18:41 +0900)
committerBlue Swirl <blauwirbel@gmail.com>
Thu, 14 Jul 2011 15:36:37 +0000 (15:36 +0000)
Support UA2007 block store ASIs for stfa instructions.

Signed-off-by: Tsuneo Saito <tsnsaito@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-sparc/op_helper.c

index b76ffb6ff0dcfa3fddef55fce31f65a56492ca14..4faa7094a54c54b6daee1568c31609c8faf40b1d 100644 (file)
@@ -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;
         }