summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_mips/host_missing/accel_TCG
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_text/target_mips/host_missing/accel_TCG')
-rw-r--r--gitlab/issues_text/target_mips/host_missing/accel_TCG/11268
-rw-r--r--gitlab/issues_text/target_mips/host_missing/accel_TCG/219330
-rw-r--r--gitlab/issues_text/target_mips/host_missing/accel_TCG/2441
-rw-r--r--gitlab/issues_text/target_mips/host_missing/accel_TCG/247031
-rw-r--r--gitlab/issues_text/target_mips/host_missing/accel_TCG/4221
-rw-r--r--gitlab/issues_text/target_mips/host_missing/accel_TCG/941
6 files changed, 72 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_mips/host_missing/accel_TCG/1126 b/gitlab/issues_text/target_mips/host_missing/accel_TCG/1126
new file mode 100644
index 000000000..5aaac6908
--- /dev/null
+++ b/gitlab/issues_text/target_mips/host_missing/accel_TCG/1126
@@ -0,0 +1,8 @@
+qemu-system-mipsel freezes for nanoMIPS in the semihosting mode
+Description of problem:
+In the current git master branch (SHA: 7b17a1a8) there is a problem with qemu-system-mipsel when trying to execute a simple hello.elf program in the semihosting mode for the nanoMIPS architecture. I.e. after executing the following command the terminal freezes: 
+ ```
+   $ ./qemu-system-mipsel -cpu I7200 -semihosting -nographic -kernel hello.elf
+ ```
+hello.elf file is generated using the nanoMIPS GNU Toolchain (https://github.com/MediaTek-Labs/nanomips-gnu-toolchain/releases).
+The program regularly terminates with QEMU emulator version 6.0.1.
diff --git a/gitlab/issues_text/target_mips/host_missing/accel_TCG/2193 b/gitlab/issues_text/target_mips/host_missing/accel_TCG/2193
new file mode 100644
index 000000000..9ba7d2b3d
--- /dev/null
+++ b/gitlab/issues_text/target_mips/host_missing/accel_TCG/2193
@@ -0,0 +1,30 @@
+qemu-system-mips64el 70 times slower than qemu -ppc64, -riscv64, -s390x
+Description of problem:
+I installed Debian 12 inside a `qemu-system-mips64el` virtual machine. The performances are awfully slow, roughly 70 times slower than other qemu targets on the same host, namely ppc64, riscv64, s390x.
+
+The idea is to recompile and test an open source project on various platforms.
+
+Using a command such as `time make path/to/bin/file.o`, I compiled one single source file on the host and within qemu for various targets. The same source file, inside the same project, is used in all cases.
+
+The results are shown below (the "x" number between parentheses is the time factor compared to the compilation on the host).
+
+- Host (native): 0m1.316s
+- qemu-system-ppc64: 0m31.622s (x24)
+- qemu-system-riscv64: 0m40.691s (x31)
+- qemu-system-s390x: 0m43.459s (x33)
+- qemu-system-mips64el: 48m33.587s (x2214)
+
+The compilation of the same source is 24 to 33 times slower on the first three emulated targets, compared to the same compilation on the host, which is understandable. However, the same compilation on the mips64el target is 2214 time slower than the host, roughly 70 times slower than other emulated targets.
+
+Why do we have such a tremendous difference between qemu mips64el and other targets?
+Additional information:
+For reference, here are the other qemu to boot the other targets. Guest OS are Debian 12 or Ubuntu 22.
+```
+qemu-system-ppc64 -smp 8 -m 8192 -nographic ...
+qemu-system-riscv64 -machine virt -smp 8 -m 8192 -nographic ...
+qemu-system-s390x -machine s390-ccw-virtio -cpu max,zpci=on -smp 8 -m 8192 -nographic ...
+```
+
+The other targets use `-smp 8` while qemu-system-mips64el does not support smp. However, the test compiles one single source file and does not (or marginally) use more than one CPU.
+
+Arguably, each compilation addresses a different target, uses a different backend, and the compilation time is not necessarily identical. OK, but 70 times slower seems way too much for this.
diff --git a/gitlab/issues_text/target_mips/host_missing/accel_TCG/244 b/gitlab/issues_text/target_mips/host_missing/accel_TCG/244
new file mode 100644
index 000000000..943aea126
--- /dev/null
+++ b/gitlab/issues_text/target_mips/host_missing/accel_TCG/244
@@ -0,0 +1 @@
+MIPS MT dvpe does not regard VPEConf0.MVP
diff --git a/gitlab/issues_text/target_mips/host_missing/accel_TCG/2470 b/gitlab/issues_text/target_mips/host_missing/accel_TCG/2470
new file mode 100644
index 000000000..7b640d03b
--- /dev/null
+++ b/gitlab/issues_text/target_mips/host_missing/accel_TCG/2470
@@ -0,0 +1,31 @@
+qemu-system-mipsel regression, Linux generated with Buildroot does not boot anymore
+Description of problem:
+Buildroot Toolchain Builders try to release a new version. See a message from Thomas Petazzoni with the remaining issues:
+https://lore.kernel.org/buildroot/20240730223542.273693e5@windsurf/T/#u
+
+All toolchains generate a system that fails to boot:
+
+Run /sbin/init as init process
+process '/bin/busybox' started with executable stack
+Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
+
+The interesting thing is that those images boot fine with Qemu v8.2.6,
+but they fail to boot with Qemu v9.0.2.
+
+I tracked it down to this commit:
+commit 4e999bf4197ae3dc58b7092260f98146920a7469
+Author: Richard Henderson <richard.henderson@linaro.org>
+Date:   Sun Jan 28 15:58:52 2024 +1000
+
+    target/mips: Pass ptw_mmu_idx down from mips_cpu_tlb_fill
+    
+    Rather than adjust env->hflags so that the value computed
+    by cpu_mmu_index() changes, compute the mmu_idx that we
+    want directly and pass it down.
+    
+    Introduce symbolic constants for MMU_{KERNEL,ERL}_IDX.
+    
+    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
+    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+
+Unfortunately just reverting this commit in 9.0.2 does not help, Qemu segfaults on Linux Kernel boot then.
diff --git a/gitlab/issues_text/target_mips/host_missing/accel_TCG/422 b/gitlab/issues_text/target_mips/host_missing/accel_TCG/422
new file mode 100644
index 000000000..594067236
--- /dev/null
+++ b/gitlab/issues_text/target_mips/host_missing/accel_TCG/422
@@ -0,0 +1 @@
+Unable to execute MIPS MSA code due to illegal instruction
diff --git a/gitlab/issues_text/target_mips/host_missing/accel_TCG/94 b/gitlab/issues_text/target_mips/host_missing/accel_TCG/94
new file mode 100644
index 000000000..96c08c489
--- /dev/null
+++ b/gitlab/issues_text/target_mips/host_missing/accel_TCG/94
@@ -0,0 +1 @@
+MIPS r4k "TLB modified exception" generated for TLB entries that are not visible to the TLBP instruction