[PATCH] Fixed incorrect LLONG alignment for openrisc and cris

2023-08-02 Thread Luca Bonissi
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

Re: [PATCH] Wrong unpacked structure for epoll_event on qemu-or1k (openrisc user-space)

2023-07-19 Thread Luca Bonissi
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 ---

Re: [PATCH] Missing CASA instruction handling for SPARC qemu-user

2023-07-18 Thread 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

Re: [PATCH] Wrong unpacked structure for epoll_event on qemu-or1k (openrisc user-space)

2023-07-18 Thread Luca Bonissi
, 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

Re: [PATCH] Wrong signed data type on pageflags_* functions - limit to 2GB memory allocation

2023-07-18 Thread Luca Bonissi
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

Missing CASA instruction handling for SPARC qemu-user

2023-07-18 Thread Luca Bonissi
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

Wrong unpacked structure for epoll_event on qemu-or1k (openrisc user-space)

2023-07-18 Thread Luca Bonissi
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

Wrong signed data type on pageflags_* functions - limit to 2GB memory allocation

2023-07-18 Thread Luca Bonissi
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

Re: stat64 wrong on sparc64 user

2023-03-30 Thread Luca Bonissi
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

Re: stat64 wrong on sparc64 user

2023-03-28 Thread Luca Bonissi
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

stat64 wrong on sparc64 user

2023-03-28 Thread Luca Bonissi
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

Re: [PATCH] linux-user: Implement faccessat2

2022-10-18 Thread Luca Bonissi
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