From: Luca Bonissi
Date: Thu, 3 Aug 2023 02:15:57 +0200
Subject: [PATCH] Fixed incorrect LLONG alignment for openrisc and cris
OpenRISC (or1k) has long long alignment to 4 bytes, but currently not
defined in abitypes.h. This lead to incorrect packing of /epoll_event/
structure and eventually
r container and/or with cross-compiler):
- cris, m68k, microblaze, nios2, or1k, sh4, x86 (32bit)
See include/exec/user/abitypes.h to update the value.
OK, abitypes.h should be updated with the following patch (discard the
previous patch on syscall_defs.h):
Signed-off-by: Luca Bonissi
---
, POWERDOWN,
and CASA.
Re-posting to add "signed-off-by" line. Removing also unused functions
from qemu-sparc (32bit) building, and consequently removed helper patch
(needed only by unused [removed] functions).
Signed-off-by: Luca Bonissi
---
diff -urp a/linux-user/syscall.c b/linux-user
, adding it just now:
==
The or1k epoll_event structure - unlike other architectures - is packed,
so we need to define it as packed in qemu-user, otherwise it leads to
infinite loop due to missing file descriptor in the returned data:
Signed-off-by: Luca Bonissi
---
diff -up a/linux-user/syscall
the 64bit
final uint64_t parameters, leading to incorrect comparison on the RBTree
(only the first call to mmap on the upper 2GB memory will be successful).
Following the patch to fix the bug (re-submit to add "signed-off-by"):
Signed-off-by: Luca Bonissi
---
diff -up a/accel/tcg/use
On qemu-sparc (user-space), the CASA instruction is not handled for
SPARC32 even if the selected cpu (e.g. LEON3) supports it.
Following the patch that works. I created "fake" ld/st_asi helpers: it
seems all works fine, but I don't know if we should make real ld/st
helpers like for SPARC64 use
The or1k epoll_event structure - unlike other architectures - is packed,
so we need to define it as packed in qemu-user, otherwise it leads to
infinite loop due to missing file descriptor in the returned data:
--- qemu-20230327/linux-user/syscall_defs.h.orig 2023-03-27
15:41:42.0 +0200
On 32bit qemu-user targets, memory allocation failed after about 2GB due
to incorrect signed (instead of the correct unsigned) "last" parameter
in pageflags_find and pageflags_next functions (file accel/tcg/user-exec.c).
The parameter, on 32bit targets, will be signed-extent to the 64bit
final
On 29/03/23 18:22, Laurent Vivier wrote:
Le 28/03/2023 à 14:22, Luca Bonissi a écrit :
On 28/03/23 13:55, Thomas Huth wrote:
On 28/03/2023 13.48, Luca Bonissi wrote:
--- qemu-20230327/linux-user/syscall_defs.h 2023-03-27
15:41:42.0 +0200
+++ qemu-20230327/linux-user
On 28/03/23 13:55, Thomas Huth wrote:
On 28/03/2023 13.48, Luca Bonissi wrote:
--- qemu-20230327/linux-user/syscall_defs.h 2023-03-27
15:41:42.0 +0200
+++ qemu-20230327/linux-user/syscall_defs.h.new 2023-03-27
21:43:25.615115126 +0200
@@ -1450,7 +1450,7 @@ struct target_stat
On qemu-sparc64 (userspace) the struct "target_stat64" is not correctly
padded, so the field st_rdev is not correctly aligned and will report
wrong major/minor (e.g. for /dev/zero it reports 0,0x1050 instead of
1,5).
Here patch to solve the issue (it also fixes incorrect size on some field
On 18/10/22 11:58, Michael Tokarev wrote:
10.10.2022 11:53, Helge Deller wrote:
On 10/9/22 08:08, WANG Xuerui wrote:
User space has been preferring this syscall for a while, due to its
closer match with C semantics, and newer platforms such as LoongArch
apparently have libc implementations that
12 matches
Mail list logo