summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_sparc/host_missing/accel_TCG/1771
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_text/target_sparc/host_missing/accel_TCG/1771')
-rw-r--r--gitlab/issues_text/target_sparc/host_missing/accel_TCG/177133
1 files changed, 0 insertions, 33 deletions
diff --git a/gitlab/issues_text/target_sparc/host_missing/accel_TCG/1771 b/gitlab/issues_text/target_sparc/host_missing/accel_TCG/1771
deleted file mode 100644
index 971b0ce1c..000000000
--- a/gitlab/issues_text/target_sparc/host_missing/accel_TCG/1771
+++ /dev/null
@@ -1,33 +0,0 @@
-Missing CASA instruction handling for SPARC qemu-user
-Description of problem:
-Qemu-sparc does not handle the CASA instruction, even if the selected CPU (in this case, LEON3) support it.
-Steps to reproduce:
-1. Launch a program that use CASA instruction (any program, also "ls" on a recent glibc [>=2.31])
-2. qemu-sparc will raise "Illegal instruction"
-Additional information:
-The following patch remove the missing handling, but it needs asi load/store that is not implemented for sparc32 user-space.
-
-```
-diff -urp qemu-20230327.orig/target/sparc/translate.c qemu-20230327/target/sparc/translate.c
---- qemu-20230327.orig/target/sparc/translate.c 2023-03-27 15:41:42.000000000 +0200
-+++ qemu-20230327/target/sparc/translate.c      2023-04-01 15:24:18.293176711 +0200
-@@ -5521,7 +5522,7 @@ static void disas_sparc_insn(DisasContex
-                 case 0x37: /* stdc */
-                     goto ncp_insn;
- #endif
--#if !defined(CONFIG_USER_ONLY) || defined(TARGET_SPARC64)
-+//#if !defined(CONFIG_USER_ONLY) || defined(TARGET_SPARC64)
-                 case 0x3c: /* V9 or LEON3 casa */
- #ifndef TARGET_SPARC64
-                     CHECK_IU_FEATURE(dc, CASA);
-@@ -5529,8 +5530,8 @@ static void disas_sparc_insn(DisasContex
-                     rs2 = GET_FIELD(insn, 27, 31);
-                     cpu_src2 = gen_load_gpr(dc, rs2);
-                     gen_cas_asi(dc, cpu_addr, cpu_src2, insn, rd);
-+//#endif
-                     break;
--#endif
-                 default:
-                     goto illegal_insn;
-                 }
-```