All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 0/3] Linux user for 7.1 patches
@ 2022-06-24  9:49 Laurent Vivier
  2022-06-24  9:49 ` [PULL 1/3] linux-user/x86_64: Fix ELF_PLATFORM Laurent Vivier
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Laurent Vivier @ 2022-06-24  9:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier

The following changes since commit c8b2d413761af732a0798d8df45ce968732083fe:

  Merge tag 'bsd-user-syscall-2022q2-pull-request' of ssh://github.com/qemu-bsd-user/qemu-bsd-user into staging (2022-06-19 13:56:13 -0700)

are available in the Git repository at:

  https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.1-pull-request

for you to fetch changes up to 9a7f682c26acae5bc8bfd1f7c774070da54f1625:

  linux-user: Adjust child_tidptr on set_tid_address() syscall (2022-06-24 10:00:01 +0200)

----------------------------------------------------------------
linux-user pull request 20220624

----------------------------------------------------------------

Helge Deller (1):
  linux-user: Adjust child_tidptr on set_tid_address() syscall

Ilya Leoshkevich (1):
  linux-user: Add partial support for MADV_DONTNEED

Richard Henderson (1):
  linux-user/x86_64: Fix ELF_PLATFORM

 linux-user/elfload.c        | 30 +++++++++--------
 linux-user/mmap.c           | 64 +++++++++++++++++++++++++++++++++++++
 linux-user/syscall.c        | 20 ++++++------
 linux-user/user-internals.h |  1 +
 linux-user/user-mmap.h      |  1 +
 5 files changed, 92 insertions(+), 24 deletions(-)

-- 
2.36.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PULL 1/3] linux-user/x86_64: Fix ELF_PLATFORM
  2022-06-24  9:49 [PULL 0/3] Linux user for 7.1 patches Laurent Vivier
@ 2022-06-24  9:49 ` Laurent Vivier
  2022-06-24  9:49 ` [PULL 2/3] linux-user: Add partial support for MADV_DONTNEED Laurent Vivier
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Laurent Vivier @ 2022-06-24  9:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Richard Henderson

From: Richard Henderson <richard.henderson@linaro.org>

We had been using the i686 platform string for x86_64.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1041
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220603213801.64738-1-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/elfload.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index f7eae357f4ae..163fc8a1eeab 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -130,19 +130,6 @@ typedef abi_int         target_pid_t;
 
 #ifdef TARGET_I386
 
-#define ELF_PLATFORM get_elf_platform()
-
-static const char *get_elf_platform(void)
-{
-    static char elf_platform[] = "i386";
-    int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL);
-    if (family > 6)
-        family = 6;
-    if (family >= 3)
-        elf_platform[1] = '0' + family;
-    return elf_platform;
-}
-
 #define ELF_HWCAP get_elf_hwcap()
 
 static uint32_t get_elf_hwcap(void)
@@ -158,6 +145,8 @@ static uint32_t get_elf_hwcap(void)
 #define ELF_CLASS      ELFCLASS64
 #define ELF_ARCH       EM_X86_64
 
+#define ELF_PLATFORM   "x86_64"
+
 static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
 {
     regs->rax = 0;
@@ -221,6 +210,21 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUX86State *en
 #define ELF_CLASS       ELFCLASS32
 #define ELF_ARCH        EM_386
 
+#define ELF_PLATFORM get_elf_platform()
+
+static const char *get_elf_platform(void)
+{
+    static char elf_platform[] = "i386";
+    int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL);
+    if (family > 6) {
+        family = 6;
+    }
+    if (family >= 3) {
+        elf_platform[1] = '0' + family;
+    }
+    return elf_platform;
+}
+
 static inline void init_thread(struct target_pt_regs *regs,
                                struct image_info *infop)
 {
-- 
2.36.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PULL 2/3] linux-user: Add partial support for MADV_DONTNEED
  2022-06-24  9:49 [PULL 0/3] Linux user for 7.1 patches Laurent Vivier
  2022-06-24  9:49 ` [PULL 1/3] linux-user/x86_64: Fix ELF_PLATFORM Laurent Vivier
@ 2022-06-24  9:49 ` Laurent Vivier
  2022-06-24  9:49 ` [PULL 3/3] linux-user: Adjust child_tidptr on set_tid_address() syscall Laurent Vivier
  2022-06-24 17:50 ` [PULL 0/3] Linux user for 7.1 patches Richard Henderson
  3 siblings, 0 replies; 9+ messages in thread
From: Laurent Vivier @ 2022-06-24  9:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Ilya Leoshkevich

From: Ilya Leoshkevich <iii@linux.ibm.com>

Currently QEMU ignores madvise(MADV_DONTNEED), which break apps that
rely on this for zeroing out memory [1]. Improve the situation by doing
a passthrough when the range in question is a host-page-aligned
anonymous mapping.

This is based on the patches from Simon Hausmann [2] and Chris Fallin
[3]. The structure is taken from Simon's patch. The PAGE_MAP_ANONYMOUS
bits are superseded by commit 26bab757d41b ("linux-user: Introduce
PAGE_ANON"). In the end the patch acts like the one from Chris: we
either pass-through the entire syscall, or do nothing, since doing this
only partially would not help the affected applications much. Finally,
add some extra checks to match the behavior of the Linux kernel [4].

[1] https://gitlab.com/qemu-project/qemu/-/issues/326
[2] https://patchew.org/QEMU/20180827084037.25316-1-simon.hausmann@qt.io/
[3] https://github.com/bytecodealliance/wasmtime/blob/v0.37.0/ci/qemu-madvise.patch
[4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/madvise.c?h=v5.19-rc3#n1368

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220621144205.158452-1-iii@linux.ibm.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/mmap.c           | 64 +++++++++++++++++++++++++++++++++++++
 linux-user/syscall.c        |  8 ++---
 linux-user/user-internals.h |  1 +
 linux-user/user-mmap.h      |  1 +
 4 files changed, 68 insertions(+), 6 deletions(-)

diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 48e13737962a..4e7a6be6ee19 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -835,3 +835,67 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
     mmap_unlock();
     return new_addr;
 }
+
+static bool can_passthrough_madv_dontneed(abi_ulong start, abi_ulong end)
+{
+    ulong addr;
+
+    if ((start | end) & ~qemu_host_page_mask) {
+        return false;
+    }
+
+    for (addr = start; addr < end; addr += TARGET_PAGE_SIZE) {
+        if (!(page_get_flags(addr) & PAGE_ANON)) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+abi_long target_madvise(abi_ulong start, abi_ulong len_in, int advice)
+{
+    abi_ulong len, end;
+    int ret = 0;
+
+    if (start & ~TARGET_PAGE_MASK) {
+        return -TARGET_EINVAL;
+    }
+    len = TARGET_PAGE_ALIGN(len_in);
+
+    if (len_in && !len) {
+        return -TARGET_EINVAL;
+    }
+
+    end = start + len;
+    if (end < start) {
+        return -TARGET_EINVAL;
+    }
+
+    if (end == start) {
+        return 0;
+    }
+
+    if (!guest_range_valid_untagged(start, len)) {
+        return -TARGET_EINVAL;
+    }
+
+    /*
+     * A straight passthrough may not be safe because qemu sometimes turns
+     * private file-backed mappings into anonymous mappings.
+     *
+     * This is a hint, so ignoring and returning success is ok.
+     *
+     * This breaks MADV_DONTNEED, completely implementing which is quite
+     * complicated. However, there is one low-hanging fruit: host-page-aligned
+     * anonymous mappings. In this case passthrough is safe, so do it.
+     */
+    mmap_lock();
+    if ((advice & MADV_DONTNEED) &&
+        can_passthrough_madv_dontneed(start, end)) {
+        ret = get_errno(madvise(g2h_untagged(start), len, MADV_DONTNEED));
+    }
+    mmap_unlock();
+
+    return ret;
+}
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f55cdebee5ab..8f68f255c0d9 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -538,7 +538,7 @@ static inline int target_to_host_errno(int target_errno)
     }
 }
 
-static inline abi_long get_errno(abi_long ret)
+abi_long get_errno(abi_long ret)
 {
     if (ret == -1)
         return -host_to_target_errno(errno);
@@ -11807,11 +11807,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
 
 #ifdef TARGET_NR_madvise
     case TARGET_NR_madvise:
-        /* A straight passthrough may not be safe because qemu sometimes
-           turns private file-backed mappings into anonymous mappings.
-           This will break MADV_DONTNEED.
-           This is a hint, so ignoring and returning success is ok.  */
-        return 0;
+        return target_madvise(arg1, arg2, arg3);
 #endif
 #ifdef TARGET_NR_fcntl64
     case TARGET_NR_fcntl64:
diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h
index 6175ce53dbd6..0280e76addda 100644
--- a/linux-user/user-internals.h
+++ b/linux-user/user-internals.h
@@ -65,6 +65,7 @@ abi_long do_syscall(CPUArchState *cpu_env, int num, abi_long arg1,
                     abi_long arg8);
 extern __thread CPUState *thread_cpu;
 G_NORETURN void cpu_loop(CPUArchState *env);
+abi_long get_errno(abi_long ret);
 const char *target_strerror(int err);
 int get_osversion(void);
 void init_qemu_uname_release(void);
diff --git a/linux-user/user-mmap.h b/linux-user/user-mmap.h
index d1dec99c0249..480ce1c11487 100644
--- a/linux-user/user-mmap.h
+++ b/linux-user/user-mmap.h
@@ -25,6 +25,7 @@ int target_munmap(abi_ulong start, abi_ulong len);
 abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
                        abi_ulong new_size, unsigned long flags,
                        abi_ulong new_addr);
+abi_long target_madvise(abi_ulong start, abi_ulong len_in, int advice);
 extern unsigned long last_brk;
 extern abi_ulong mmap_next_start;
 abi_ulong mmap_find_vma(abi_ulong, abi_ulong, abi_ulong);
-- 
2.36.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PULL 3/3] linux-user: Adjust child_tidptr on set_tid_address() syscall
  2022-06-24  9:49 [PULL 0/3] Linux user for 7.1 patches Laurent Vivier
  2022-06-24  9:49 ` [PULL 1/3] linux-user/x86_64: Fix ELF_PLATFORM Laurent Vivier
  2022-06-24  9:49 ` [PULL 2/3] linux-user: Add partial support for MADV_DONTNEED Laurent Vivier
@ 2022-06-24  9:49 ` Laurent Vivier
  2022-06-24 17:50 ` [PULL 0/3] Linux user for 7.1 patches Richard Henderson
  3 siblings, 0 replies; 9+ messages in thread
From: Laurent Vivier @ 2022-06-24  9:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Helge Deller, Richard Henderson

From: Helge Deller <deller@gmx.de>

Keep track of the new child tidptr given by a set_tid_address() syscall.

Do not call the host set_tid_address() syscall because we are emulating
the behaviour of writing to child_tidptr in the exit() path.

Signed-off-by: Helge Deller<deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <YpH+2sw1PCRqx/te@p100>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/syscall.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 8f68f255c0d9..669add74c11a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -320,9 +320,6 @@ _syscall3(int,sys_syslog,int,type,char*,bufp,int,len)
 #ifdef __NR_exit_group
 _syscall1(int,exit_group,int,error_code)
 #endif
-#if defined(TARGET_NR_set_tid_address) && defined(__NR_set_tid_address)
-_syscall1(int,set_tid_address,int *,tidptr)
-#endif
 #if defined(__NR_futex)
 _syscall6(int,sys_futex,int *,uaddr,int,op,int,val,
           const struct timespec *,timeout,int *,uaddr2,int,val3)
@@ -12196,9 +12193,14 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
     }
 #endif
 
-#if defined(TARGET_NR_set_tid_address) && defined(__NR_set_tid_address)
+#if defined(TARGET_NR_set_tid_address)
     case TARGET_NR_set_tid_address:
-        return get_errno(set_tid_address((int *)g2h(cpu, arg1)));
+    {
+        TaskState *ts = cpu->opaque;
+        ts->child_tidptr = arg1;
+        /* do not call host set_tid_address() syscall, instead return tid() */
+        return get_errno(sys_gettid());
+    }
 #endif
 
     case TARGET_NR_tkill:
-- 
2.36.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PULL 0/3] Linux user for 7.1 patches
  2022-06-24  9:49 [PULL 0/3] Linux user for 7.1 patches Laurent Vivier
                   ` (2 preceding siblings ...)
  2022-06-24  9:49 ` [PULL 3/3] linux-user: Adjust child_tidptr on set_tid_address() syscall Laurent Vivier
@ 2022-06-24 17:50 ` Richard Henderson
  3 siblings, 0 replies; 9+ messages in thread
From: Richard Henderson @ 2022-06-24 17:50 UTC (permalink / raw)
  To: Laurent Vivier, qemu-devel

On 6/24/22 02:49, Laurent Vivier wrote:
> The following changes since commit c8b2d413761af732a0798d8df45ce968732083fe:
> 
>    Merge tag 'bsd-user-syscall-2022q2-pull-request' of ssh://github.com/qemu-bsd-user/qemu-bsd-user into staging (2022-06-19 13:56:13 -0700)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.1-pull-request
> 
> for you to fetch changes up to 9a7f682c26acae5bc8bfd1f7c774070da54f1625:
> 
>    linux-user: Adjust child_tidptr on set_tid_address() syscall (2022-06-24 10:00:01 +0200)
> 
> ----------------------------------------------------------------
> linux-user pull request 20220624

Applied, thanks.  Please update https://wiki.qemu.org/ChangeLog/7.1 as appropriate.


r~


> 
> ----------------------------------------------------------------
> 
> Helge Deller (1):
>    linux-user: Adjust child_tidptr on set_tid_address() syscall
> 
> Ilya Leoshkevich (1):
>    linux-user: Add partial support for MADV_DONTNEED
> 
> Richard Henderson (1):
>    linux-user/x86_64: Fix ELF_PLATFORM
> 
>   linux-user/elfload.c        | 30 +++++++++--------
>   linux-user/mmap.c           | 64 +++++++++++++++++++++++++++++++++++++
>   linux-user/syscall.c        | 20 ++++++------
>   linux-user/user-internals.h |  1 +
>   linux-user/user-mmap.h      |  1 +
>   5 files changed, 92 insertions(+), 24 deletions(-)
> 



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PULL 0/3] Linux user for 7.1 patches
  2022-08-03 14:56 Laurent Vivier
@ 2022-08-03 17:12 ` Richard Henderson
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Henderson @ 2022-08-03 17:12 UTC (permalink / raw)
  To: Laurent Vivier, qemu-devel

On 8/3/22 07:56, Laurent Vivier wrote:
> The following changes since commit 3e4abe2c92964aadd35344a635b0f32cb487fd5c:
> 
>    Merge tag 'pull-block-2022-07-27' of https://gitlab.com/vsementsov/qemu into staging (2022-07-27 20:10:15 -0700)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.1-pull-request
> 
> for you to fetch changes up to 5b63de6b54add51822db3c89325c6fc05534a54c:
> 
>    linux-user: Use memfd for open syscall emulation (2022-08-02 15:44:27 +0200)
> 
> ----------------------------------------------------------------
> Pull request linux-user 20220803

Applied, thanks.  Please update https://wiki.qemu.org/ChangeLog/7.1 as appropriate.


r~


> 
> ----------------------------------------------------------------
> 
> Ilya Leoshkevich (1):
>    linux-user: Do not treat madvise()'s advice as a bitmask
> 
> Peter Maydell (1):
>    linux-user/flatload.c: Fix setting of image_info::end_code
> 
> Rainer Müller (1):
>    linux-user: Use memfd for open syscall emulation
> 
>   linux-user/flatload.c |  2 +-
>   linux-user/mmap.c     |  2 +-
>   linux-user/syscall.c  | 22 ++++++++++++++--------
>   3 files changed, 16 insertions(+), 10 deletions(-)
> 



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PULL 0/3] Linux user for 7.1 patches
@ 2022-08-03 14:56 Laurent Vivier
  2022-08-03 17:12 ` Richard Henderson
  0 siblings, 1 reply; 9+ messages in thread
From: Laurent Vivier @ 2022-08-03 14:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier

The following changes since commit 3e4abe2c92964aadd35344a635b0f32cb487fd5c:

  Merge tag 'pull-block-2022-07-27' of https://gitlab.com/vsementsov/qemu into staging (2022-07-27 20:10:15 -0700)

are available in the Git repository at:

  https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.1-pull-request

for you to fetch changes up to 5b63de6b54add51822db3c89325c6fc05534a54c:

  linux-user: Use memfd for open syscall emulation (2022-08-02 15:44:27 +0200)

----------------------------------------------------------------
Pull request linux-user 20220803

----------------------------------------------------------------

Ilya Leoshkevich (1):
  linux-user: Do not treat madvise()'s advice as a bitmask

Peter Maydell (1):
  linux-user/flatload.c: Fix setting of image_info::end_code

Rainer Müller (1):
  linux-user: Use memfd for open syscall emulation

 linux-user/flatload.c |  2 +-
 linux-user/mmap.c     |  2 +-
 linux-user/syscall.c  | 22 ++++++++++++++--------
 3 files changed, 16 insertions(+), 10 deletions(-)

-- 
2.37.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PULL 0/3] Linux user for 7.1 patches
  2022-07-26  9:44 Laurent Vivier
@ 2022-07-26 14:29 ` Peter Maydell
  0 siblings, 0 replies; 9+ messages in thread
From: Peter Maydell @ 2022-07-26 14:29 UTC (permalink / raw)
  To: Laurent Vivier; +Cc: qemu-devel

On Tue, 26 Jul 2022 at 10:49, Laurent Vivier <laurent@vivier.eu> wrote:
>
> The following changes since commit 5288bee45fbd33203b61f8c76e41b15bb5913e6e:
>
>   Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2022-07-21 11:13:01 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.1-pull-request
>
> for you to fetch changes up to 6f200f51869ff0de7ea0343dd7104362e994b382:
>
>   linux-user: Use target abi_int type for pipefd[1] in pipe() (2022-07-25 10:42:11 +0200)
>
> ----------------------------------------------------------------
> linux-user pull request 20220726
>
> ----------------------------------------------------------------


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/7.1
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PULL 0/3] Linux user for 7.1 patches
@ 2022-07-26  9:44 Laurent Vivier
  2022-07-26 14:29 ` Peter Maydell
  0 siblings, 1 reply; 9+ messages in thread
From: Laurent Vivier @ 2022-07-26  9:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier

The following changes since commit 5288bee45fbd33203b61f8c76e41b15bb5913e6e:

  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2022-07-21 11:13:01 +0100)

are available in the Git repository at:

  https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.1-pull-request

for you to fetch changes up to 6f200f51869ff0de7ea0343dd7104362e994b382:

  linux-user: Use target abi_int type for pipefd[1] in pipe() (2022-07-25 10:42:11 +0200)

----------------------------------------------------------------
linux-user pull request 20220726

----------------------------------------------------------------

Helge Deller (3):
  linux-user/hppa: Fix segfaults on page zero
  linux-user: Unconditionally use pipe2() syscall
  linux-user: Use target abi_int type for pipefd[1] in pipe()

 linux-user/hppa/cpu_loop.c |  3 +++
 linux-user/syscall.c       | 13 ++-----------
 meson.build                |  9 ---------
 3 files changed, 5 insertions(+), 20 deletions(-)

-- 
2.37.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-08-03 17:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-24  9:49 [PULL 0/3] Linux user for 7.1 patches Laurent Vivier
2022-06-24  9:49 ` [PULL 1/3] linux-user/x86_64: Fix ELF_PLATFORM Laurent Vivier
2022-06-24  9:49 ` [PULL 2/3] linux-user: Add partial support for MADV_DONTNEED Laurent Vivier
2022-06-24  9:49 ` [PULL 3/3] linux-user: Adjust child_tidptr on set_tid_address() syscall Laurent Vivier
2022-06-24 17:50 ` [PULL 0/3] Linux user for 7.1 patches Richard Henderson
2022-07-26  9:44 Laurent Vivier
2022-07-26 14:29 ` Peter Maydell
2022-08-03 14:56 Laurent Vivier
2022-08-03 17:12 ` Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.