summary refs log tree commit diff stats
path: root/gitlab/issues/target_loongarch/host_missing/accel_missing
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
commit4b927bc37359dec23f67d3427fc982945f24f404 (patch)
tree245449ef9146942dc7fffd0235b48b7e70a00bf2 /gitlab/issues/target_loongarch/host_missing/accel_missing
parentaa8bd79cec7bf6790ddb01d156c2ef2201abbaab (diff)
downloadqemu-analysis-4b927bc37359dec23f67d3427fc982945f24f404.tar.gz
qemu-analysis-4b927bc37359dec23f67d3427fc982945f24f404.zip
add gitlab issues in toml format
Diffstat (limited to 'gitlab/issues/target_loongarch/host_missing/accel_missing')
-rw-r--r--gitlab/issues/target_loongarch/host_missing/accel_missing/1261.toml33
-rw-r--r--gitlab/issues/target_loongarch/host_missing/accel_missing/2491.toml25
-rw-r--r--gitlab/issues/target_loongarch/host_missing/accel_missing/2538.toml34
-rw-r--r--gitlab/issues/target_loongarch/host_missing/accel_missing/2738.toml18
-rw-r--r--gitlab/issues/target_loongarch/host_missing/accel_missing/2754.toml34
-rw-r--r--gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml62
6 files changed, 206 insertions, 0 deletions
diff --git a/gitlab/issues/target_loongarch/host_missing/accel_missing/1261.toml b/gitlab/issues/target_loongarch/host_missing/accel_missing/1261.toml
new file mode 100644
index 000000000..8ad96bfef
--- /dev/null
+++ b/gitlab/issues/target_loongarch/host_missing/accel_missing/1261.toml
@@ -0,0 +1,33 @@
+id = 1261
+title = "qemu-user syscall 439 (faccessat2) not implemented - loongarch64"
+state = "closed"
+created_at = "2022-10-17T23:53:32.857Z"
+closed_at = "2022-10-27T16:54:40.033Z"
+labels = ["linux-user", "target: loongarch"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1261"
+host-os = "Linux"
+host-arch = "x86_64"
+qemu-version = "7.1.50 (v7.1.0-177-gfd28528ece-dirty)"
+guest-os = "Linux"
+guest-arch = "LoongArch64"
+description = """On LoongArch64 architecture faccessat syscall is missing and only faccessat2 is present, but it is not handled in  linux-user/syscall"""
+reproduce = """1. Launch a simple bash test script (call it test.sh): if [[ -r test.sh ]] ; then echo OK ; else echo ERROR ; fi
+2. The result is "ERROR" even if the file "test.sh" exists and it is readeable
+3. The correct result should be "OK""""
+additional = """test.sh:
+   ```
+   if [[ -r test.sh ]] ; then echo OK ; else echo ERROR ; fi
+   ```
+qemu-loongarch -strace log:
+   ```
+[...]
+12579 statx(255,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x0000004000802a50) = 0
+12579 lseek(255,0,SEEK_CUR) = 0
+12579 read(255,0x2016d490,56) = 56
+12579 Unknown syscall 439
+12579 write(1,0x20172010,6) = 6
+12579 read(255,0x2016d490,56) = 0
+12579 rt_sigprocmask(SIG_BLOCK,0x0000004000802b60,0x0000004000802be0) = 0
+12579 rt_sigprocmask(SIG_SETMASK,0x0000004000802be0,NULL) = 0
+12579 exit_group(0)
+   ```"""
diff --git a/gitlab/issues/target_loongarch/host_missing/accel_missing/2491.toml b/gitlab/issues/target_loongarch/host_missing/accel_missing/2491.toml
new file mode 100644
index 000000000..58a1a42e3
--- /dev/null
+++ b/gitlab/issues/target_loongarch/host_missing/accel_missing/2491.toml
@@ -0,0 +1,25 @@
+id = 2491
+title = "Performance Regression in QEMU (amd64 Emulating LoongArch64) from 8.0.4 to 9.0.2"
+state = "opened"
+created_at = "2024-08-08T04:47:28.229Z"
+closed_at = "n/a"
+labels = ["Regression", "linux-user", "target: loongarch"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2491"
+host-os = "Arch Linux"
+host-arch = "x86"
+qemu-version = "9.0.2"
+guest-os = "Arch Linux"
+guest-arch = "loongarch64"
+description = """Previous Performance: In May 2023, we were using QEMU 8.0.4 for qemu-user emulation, and the performance was satisfactory. The setup did not include LSX (Loongson SIMD Extensions) support in either the system or QEMU. Performance results are shown in Figure A.
+
+Current Performance: Recently, we upgraded to QEMU 9.0.2. Both the system and QEMU now support vectorized instruction sets. However, we observed a performance decline to less than 60% of the previous benchmarks.
+
+We found that the slowdown is not caused by LSX. Disabling LSX compilation in the new version results in even worse performance. However, there are indeed significant differences between the two systems in terms of LSX support."""
+reproduce = "n/a"
+additional = """We use systemd-nspawn and qemu-binfmt for containerized operations. You can get a clean chroot from lcpu release [here](https://github.com/lcpu-club/loongarchlinux-dockerfile/releases/download/20240806/base-devel-loong64-20240806.tar.zst)
+
+Figure A, performance in May 2023
+![Figure A](/uploads/037647ca85b0fe4fd9d77a3c91b29e7d/微信图片_20240808124226.jpg)
+
+Figure B, performance nowadays
+![Figure B](/uploads/d5837ea77ca5a998fa1ca45070862331/微信图片_20240808124233.jpg)"""
diff --git a/gitlab/issues/target_loongarch/host_missing/accel_missing/2538.toml b/gitlab/issues/target_loongarch/host_missing/accel_missing/2538.toml
new file mode 100644
index 000000000..0a533e934
--- /dev/null
+++ b/gitlab/issues/target_loongarch/host_missing/accel_missing/2538.toml
@@ -0,0 +1,34 @@
+id = 2538
+title = "qemu-system-loongarch64: ../hw/loongarch/virt.c:118: virt_flash_map1: Assertion `QEMU_IS_ALIGNED(real_size, VIRT_FLASH_SECTOR_SIZE)' failed."
+state = "closed"
+created_at = "2024-08-26T11:12:06.946Z"
+closed_at = "2025-03-25T14:06:55.163Z"
+labels = ["Regression", "target: loongarch"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2538"
+host-os = "Fedora 40"
+host-arch = "x64"
+qemu-version = "9.1.0"
+guest-os = "None"
+guest-arch = "loongarch64"
+description = """Cannot enter the loongarch64 UEFI shell due to the error below:
+qemu-system-loongarch64: ../hw/loongarch/virt.c:118: virt_flash_map1: Assertion `QEMU_IS_ALIGNED(real_size, VIRT_FLASH_SECTOR_SIZE)' failed."""
+reproduce = """1.follow the steps to create an empty loongarch64 uefi bare metal.
+2.Click start the installation
+3.Then the error occurs."""
+additional = """```
+qemu-system-loongarch64: ../hw/loongarch/virt.c:118: virt_flash_map1: Assertion `QEMU_IS_ALIGNED(real_size, VIRT_FLASH_SECTOR_SIZE)' failed.'
+
+Traceback (most recent call last):
+  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
+    callback(asyncjob, *args, **kwargs)
+  File "/usr/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install
+    installer.start_install(guest, meter=meter)
+  File "/usr/share/virt-manager/virtinst/install/installer.py", line 695, in start_install
+    domain = self._create_guest(
+             ^^^^^^^^^^^^^^^^^^^
+  File "/usr/share/virt-manager/virtinst/install/installer.py", line 637, in _create_guest
+    domain = self.conn.createXML(initial_xml or final_xml, 0)
+             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/lib64/python3.12/site-packages/libvirt.py", line 4545, in createXML
+    raise libvirtError('virDomainCreateXML() failed')
+```"""
diff --git a/gitlab/issues/target_loongarch/host_missing/accel_missing/2738.toml b/gitlab/issues/target_loongarch/host_missing/accel_missing/2738.toml
new file mode 100644
index 000000000..8849bccfa
--- /dev/null
+++ b/gitlab/issues/target_loongarch/host_missing/accel_missing/2738.toml
@@ -0,0 +1,18 @@
+id = 2738
+title = "golang 1.23 build hangs when running under qemu-user on x86_64 host"
+state = "opened"
+created_at = "2024-12-21T10:42:48.765Z"
+closed_at = "n/a"
+labels = ["linux-user", "target: loongarch"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2738"
+host-os = "Fedora 40"
+host-arch = "x86_64"
+qemu-version = "9.2.0"
+guest-os = "N/A"
+guest-arch = "any"
+description = """Forwarded from https://github.com/golang/go/issues/70329.
+
+#"""
+reproduce = """1. Setup qemu-user binfmt for a foreign ISA, for example, installs qemu-user-static-aarch64 on Fedora.
+2. Build the Dockerfile for specified arch: `podman build --arch aarch64 .`"""
+additional = """"""
diff --git a/gitlab/issues/target_loongarch/host_missing/accel_missing/2754.toml b/gitlab/issues/target_loongarch/host_missing/accel_missing/2754.toml
new file mode 100644
index 000000000..e4f195aef
--- /dev/null
+++ b/gitlab/issues/target_loongarch/host_missing/accel_missing/2754.toml
@@ -0,0 +1,34 @@
+id = 2754
+title = "Virt-manager using QEMU exit in flash and return an I/O Error when attempting to create an loongarch64 QEMU virtual machine"
+state = "closed"
+created_at = "2024-12-28T09:49:46.912Z"
+closed_at = "2025-01-02T09:55:19.548Z"
+labels = ["target: loongarch", "workflow::Needs Info"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2754"
+host-os = "Fedora 41"
+host-arch = "x86"
+qemu-version = "9.2.0"
+guest-os = "Generic System(DIY system)"
+guest-arch = "loongarch64"
+description = """Cannot complete the installation:'Enter the end of the file when reading data:I/O Error'
+
+Traceback (most recent call last):
+  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 71, in cb_wrapper
+    callback(asyncjob, *args, **kwargs)
+    ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install
+    installer.start_install(guest, meter=meter)
+    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
+  File "/usr/share/virt-manager/virtinst/install/installer.py", line 726, in start_install
+    domain = self._create_guest(
+            guest, meter, initial_xml, final_xml,
+            doboot, transient)
+  File "/usr/share/virt-manager/virtinst/install/installer.py", line 667, in _create_guest
+    domain = self.conn.createXML(initial_xml or final_xml, 0)
+  File "/usr/lib64/python3.13/site-packages/libvirt.py", line 4545, in createXML
+    raise libvirtError('virDomainCreateXML() failed')
+libvirt.libvirtError: 'Enter the end of the file when reading data:I/O Error'"""
+reproduce = """1.Click to create loongarch64 virtual machine using virt-manager
+2.Configure all arguments of virtual machine
+3.Then click start installation,then the error occurs."""
+additional = """"""
diff --git a/gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml b/gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml
new file mode 100644
index 000000000..ed73610fb
--- /dev/null
+++ b/gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml
@@ -0,0 +1,62 @@
+id = 2865
+title = "loongarch64: wrong implementation of `xvldi` instruction"
+state = "closed"
+created_at = "2025-03-16T17:39:40.541Z"
+closed_at = "2025-03-17T12:59:28.649Z"
+labels = ["target: loongarch"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2865"
+host-os = "Debian"
+host-arch = "loongarch64 (default one)"
+qemu-version = "qemu-loongarch64 version 9.2.2 (Debian 1:9.2.2+ds-1+b2)"
+guest-os = "n/a"
+guest-arch = "loongarch64 (default one)"
+description = """Consider this sample program.
+
+```c++
+#include <cstdio>
+#include <cstdint>
+#include <lsxintrin.h>
+#include <lasxintrin.h>
+
+void dump_u32(__m256i x) {
+    uint32_t tmp[32/4];
+    __lasx_xvst(x, tmp, 0);
+    putchar('[');
+    for (int i=0; i < 32/4; i++) {
+        if (i > 0) {
+            putchar(' ');
+        }
+
+        printf("%08x", tmp[i]);
+    }
+    puts("]");
+}
+
+int main() {
+    __m256i const1 = __lasx_xvldi(-3832);
+    dump_u32(const1);
+}
+```
+
+The magic constants here means: replicate in 32-bit words a byte (0x4) shifted left by 8. We should have a vector of words 0x800, and indeed, the program run on a real hardware prints expected:
+
+```
+[00000800 00000800 00000800 00000800 00000800 00000800 00000800 00000800]
+```
+
+The same program run under Qemu prints:
+
+```
+[08000800 00000000 08000800 00000000 08000800 00000000 08000800 00000000]
+```"""
+reproduce = "n/a"
+additional = """I grabbed the latest sources, it seems there's bug in `target/loongarch/tcg/insn_trans/trans_vec.c.inc`, in function `vldi_get_value`.
+
+```c
+    case 1:
+        /* data: {2{16'0, imm[7:0], 8'0}} */
+        data = (t << 24) | (t << 8);
+        break;
+```
+
+There should be `(t << (8+32)) | t << 8`."""