All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64
@ 2014-03-02 19:36 Peter Maydell
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 1/5] linux-user/signal.c: Fix AArch64 big-endian FP register restore Peter Maydell
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Peter Maydell @ 2014-03-02 19:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Michael Matz, Alexander Graf, patches

This is a set of miscellaneous patches for linux-user which fix
problems seen with AArch64 guests. Mostly they're from the SuSE
1.6 tree (though I've tweaked one or two of them a bit).

The sendmmsg syscall patch is a significantly revised version
of the patch Alex sent to the list a while back; I've fixed the
problems noted in code review then and also a few more which I
spotted while I was doing that.

Riku: do you want to take these via linux-user or should I
put them in via target-arm? linux-user seems like it makes more
sense to me; there's no dependency on target-arm patches and
some of the patches are generic fixes. Either way I definitely
want to get these into 2.0...

thanks
-- PMM

Alexander Graf (1):
  linux-user: Implement sendmmsg syscall

Andreas Schwab (1):
  linux-user: Don't use UID16 on AArch64

Michael Matz (1):
  linux-user: AArch64: Implement SA_RESTORER for signal handlers

Peter Maydell (2):
  linux-user/signal.c: Fix AArch64 big-endian FP register restore
  linux-user: Fix getresuid, getresgid if !USE_UID16

 linux-user/signal.c       |  26 ++++++++----
 linux-user/syscall.c      | 104 +++++++++++++++++++++++++++++++++++++++-------
 linux-user/syscall_defs.h |   7 +++-
 3 files changed, 112 insertions(+), 25 deletions(-)

-- 
1.9.0

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

* [Qemu-devel] [PATCH 1/5] linux-user/signal.c: Fix AArch64 big-endian FP register restore
  2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
@ 2014-03-02 19:36 ` Peter Maydell
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 2/5] linux-user: AArch64: Implement SA_RESTORER for signal handlers Peter Maydell
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Peter Maydell @ 2014-03-02 19:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Michael Matz, Alexander Graf, patches

Fix the loop restoring the FP registers from the signal frame to match
the one used when setting up the signal frame, so that it handles
TARGET_WORDS_BIGENDIAN being set.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 linux-user/signal.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 04638e2..29734b2 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -1233,8 +1233,14 @@ static int target_restore_sigframe(CPUARMState *env,
         return 1;
     }
 
-    for (i = 0; i < 32 * 2; i++) {
-        __get_user(env->vfp.regs[i], &aux->fpsimd.vregs[i]);
+    for (i = 0; i < 32; i++) {
+#ifdef TARGET_WORDS_BIGENDIAN
+        __get_user(env->vfp.regs[i * 2], &aux->fpsimd.vregs[i * 2 + 1]);
+        __get_user(env->vfp.regs[i * 2 + 1], &aux->fpsimd.vregs[i * 2]);
+#else
+        __get_user(env->vfp.regs[i * 2], &aux->fpsimd.vregs[i * 2]);
+        __get_user(env->vfp.regs[i * 2 + 1], &aux->fpsimd.vregs[i * 2 + 1]);
+#endif
     }
     __get_user(fpsr, &aux->fpsimd.fpsr);
     vfp_set_fpsr(env, fpsr);
-- 
1.9.0

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

* [Qemu-devel] [PATCH 2/5] linux-user: AArch64: Implement SA_RESTORER for signal handlers
  2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 1/5] linux-user/signal.c: Fix AArch64 big-endian FP register restore Peter Maydell
@ 2014-03-02 19:36 ` Peter Maydell
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 3/5] linux-user: Don't use UID16 on AArch64 Peter Maydell
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Peter Maydell @ 2014-03-02 19:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Michael Matz, Alexander Graf, patches

From: Michael Matz <matz@suse.de>

Implement support for signal handlers with the SA_RESTORER
flag set.

Signed-off-by: Michael Matz <matz@suse.de>
[PMM: minor tweaks to make patch apply to current master]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 linux-user/signal.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 29734b2..c8a1da0 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -1273,7 +1273,7 @@ static void target_setup_frame(int usig, struct target_sigaction *ka,
                                CPUARMState *env)
 {
     struct target_rt_sigframe *frame;
-    abi_ulong frame_addr;
+    abi_ulong frame_addr, return_addr;
 
     frame_addr = get_sigframe(ka, env);
     if (!lock_user_struct(VERIFY_WRITE, frame, frame_addr, 0)) {
@@ -1290,15 +1290,19 @@ static void target_setup_frame(int usig, struct target_sigaction *ka,
     __put_user(target_sigaltstack_used.ss_size,
                       &frame->uc.tuc_stack.ss_size);
     target_setup_sigframe(frame, env, set);
-    /* mov x8,#__NR_rt_sigreturn; svc #0 */
-    __put_user(0xd2801168, &frame->tramp[0]);
-    __put_user(0xd4000001, &frame->tramp[1]);
+    if (ka->sa_flags & TARGET_SA_RESTORER) {
+        return_addr = ka->sa_restorer;
+    } else {
+        /* mov x8,#__NR_rt_sigreturn; svc #0 */
+        __put_user(0xd2801168, &frame->tramp[0]);
+        __put_user(0xd4000001, &frame->tramp[1]);
+        return_addr = frame_addr + offsetof(struct target_rt_sigframe, tramp);
+    }
     env->xregs[0] = usig;
     env->xregs[31] = frame_addr;
     env->xregs[29] = env->xregs[31] + offsetof(struct target_rt_sigframe, fp);
     env->pc = ka->_sa_handler;
-    env->xregs[30] = env->xregs[31] +
-        offsetof(struct target_rt_sigframe, tramp);
+    env->xregs[30] = return_addr;
     if (info) {
         if (copy_siginfo_to_user(&frame->info, info)) {
             goto give_sigsegv;
-- 
1.9.0

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

* [Qemu-devel] [PATCH 3/5] linux-user: Don't use UID16 on AArch64
  2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 1/5] linux-user/signal.c: Fix AArch64 big-endian FP register restore Peter Maydell
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 2/5] linux-user: AArch64: Implement SA_RESTORER for signal handlers Peter Maydell
@ 2014-03-02 19:36 ` Peter Maydell
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 4/5] linux-user: Fix getresuid, getresgid if !USE_UID16 Peter Maydell
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Peter Maydell @ 2014-03-02 19:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Michael Matz, Alexander Graf, patches

From: Andreas Schwab <schwab@suse.de>

The AArch64 kernel defines its __kernel_uid_t type as 32 bits, unlike
32 bit ARM, so don't enable our 16-bit UID wrapper handling.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 linux-user/syscall_defs.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 3c8869e..d55f396 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -53,7 +53,8 @@
 #define TARGET_IOC_NRBITS	8
 #define TARGET_IOC_TYPEBITS	8
 
-#if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC) \
+#if defined(TARGET_I386) || (defined(TARGET_ARM) && defined(TARGET_ABI32)) \
+    || defined(TARGET_SPARC) \
     || defined(TARGET_M68K) || defined(TARGET_SH4) || defined(TARGET_CRIS)
     /* 16 bit uid wrappers emulation */
 #define USE_UID16
-- 
1.9.0

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

* [Qemu-devel] [PATCH 4/5] linux-user: Fix getresuid, getresgid if !USE_UID16
  2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
                   ` (2 preceding siblings ...)
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 3/5] linux-user: Don't use UID16 on AArch64 Peter Maydell
@ 2014-03-02 19:36 ` Peter Maydell
  2014-03-02 21:05   ` Andreas Färber
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 5/5] linux-user: Implement sendmmsg syscall Peter Maydell
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 9+ messages in thread
From: Peter Maydell @ 2014-03-02 19:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Michael Matz, Alexander Graf, patches

The size of the UID/GID types depends on whether USE_UID16 is
defined. Define a new put_user_id() which writes a uid/gid
type to guest memory. This fixes getresuid and getresgid, which
were always storing 16 bits even if the uid type was 32 bits.

Reported-by: Michael Matz <matz@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
The SuSE 1.6 tree has a fix for this bug (hence the
reported-by:) but I preferred to fix it in a different
way to avoid introducing more ifdefs.
---
 linux-user/syscall.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 1407b7a..ccdbc4e 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4528,6 +4528,9 @@ static inline int tswapid(int id)
 {
     return tswap16(id);
 }
+
+#define put_user_id(x, gaddr) put_user_u16(x, gaddr)
+
 #else /* !USE_UID16 */
 static inline int high2lowuid(int uid)
 {
@@ -4549,6 +4552,9 @@ static inline int tswapid(int id)
 {
     return tswap32(id);
 }
+
+#define put_user_id(x, gaddr) put_user_u32(x, gaddr)
+
 #endif /* USE_UID16 */
 
 void syscall_init(void)
@@ -7805,9 +7811,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
             uid_t ruid, euid, suid;
             ret = get_errno(getresuid(&ruid, &euid, &suid));
             if (!is_error(ret)) {
-                if (put_user_u16(high2lowuid(ruid), arg1)
-                    || put_user_u16(high2lowuid(euid), arg2)
-                    || put_user_u16(high2lowuid(suid), arg3))
+                if (put_user_id(high2lowuid(ruid), arg1)
+                    || put_user_id(high2lowuid(euid), arg2)
+                    || put_user_id(high2lowuid(suid), arg3))
                     goto efault;
             }
         }
@@ -7826,9 +7832,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
             gid_t rgid, egid, sgid;
             ret = get_errno(getresgid(&rgid, &egid, &sgid));
             if (!is_error(ret)) {
-                if (put_user_u16(high2lowgid(rgid), arg1)
-                    || put_user_u16(high2lowgid(egid), arg2)
-                    || put_user_u16(high2lowgid(sgid), arg3))
+                if (put_user_id(high2lowgid(rgid), arg1)
+                    || put_user_id(high2lowgid(egid), arg2)
+                    || put_user_id(high2lowgid(sgid), arg3))
                     goto efault;
             }
         }
-- 
1.9.0

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

* [Qemu-devel] [PATCH 5/5] linux-user: Implement sendmmsg syscall
  2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
                   ` (3 preceding siblings ...)
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 4/5] linux-user: Fix getresuid, getresgid if !USE_UID16 Peter Maydell
@ 2014-03-02 19:36 ` Peter Maydell
  2014-03-03 16:33 ` [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Richard Henderson
  2014-03-03 21:10 ` Riku Voipio
  6 siblings, 0 replies; 9+ messages in thread
From: Peter Maydell @ 2014-03-02 19:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Michael Matz, Alexander Graf, patches

From: Alexander Graf <agraf@suse.de>

Glibc when built for newer kernels assumes that the sendmmsg syscall is
available. Without it, dns resolution simply fails to work.

Wrap the syscall with existing infrastructure so that we don't have a host
dependency on sendmmsg.

To avoid locking the same area of guest memory twice (which will break if
DEBUG_REMAP is defined) we pull the lock/unlock part of do_sendrecvmsg()
out into its own function so the actual implementation can be shared.

Signed-off-by: Alexander Graf <agraf@suse.de>
[PMM: add recvmmsg support;
 handle errors (which also implies support for non-blocking operations);
 cap the vector length as the kernel implementation does;
 don't lock guest memory twice;
 support MSG_WAITFORONE flag]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 linux-user/syscall.c      | 86 +++++++++++++++++++++++++++++++++++++++++------
 linux-user/syscall_defs.h |  4 +++
 2 files changed, 80 insertions(+), 10 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ccdbc4e..1f64867 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1904,23 +1904,16 @@ static abi_long do_connect(int sockfd, abi_ulong target_addr,
     return get_errno(connect(sockfd, addr, addrlen));
 }
 
-/* do_sendrecvmsg() Must return target values and target errnos. */
-static abi_long do_sendrecvmsg(int fd, abi_ulong target_msg,
-                               int flags, int send)
+/* do_sendrecvmsg_locked() Must return target values and target errnos. */
+static abi_long do_sendrecvmsg_locked(int fd, struct target_msghdr *msgp,
+                                      int flags, int send)
 {
     abi_long ret, len;
-    struct target_msghdr *msgp;
     struct msghdr msg;
     int count;
     struct iovec *vec;
     abi_ulong target_vec;
 
-    /* FIXME */
-    if (!lock_user_struct(send ? VERIFY_READ : VERIFY_WRITE,
-                          msgp,
-                          target_msg,
-                          send ? 1 : 0))
-        return -TARGET_EFAULT;
     if (msgp->msg_name) {
         msg.msg_namelen = tswap32(msgp->msg_namelen);
         msg.msg_name = alloca(msg.msg_namelen);
@@ -1975,10 +1968,75 @@ static abi_long do_sendrecvmsg(int fd, abi_ulong target_msg,
 out:
     unlock_iovec(vec, target_vec, count, !send);
 out2:
+    return ret;
+}
+
+static abi_long do_sendrecvmsg(int fd, abi_ulong target_msg,
+                               int flags, int send)
+{
+    abi_long ret;
+    struct target_msghdr *msgp;
+
+    if (!lock_user_struct(send ? VERIFY_READ : VERIFY_WRITE,
+                          msgp,
+                          target_msg,
+                          send ? 1 : 0)) {
+        return -TARGET_EFAULT;
+    }
+    ret = do_sendrecvmsg_locked(fd, msgp, flags, send);
     unlock_user_struct(msgp, target_msg, send ? 0 : 1);
     return ret;
 }
 
+#ifdef TARGET_NR_sendmmsg
+/* We don't rely on the C library to have sendmmsg/recvmmsg support,
+ * so it might not have this *mmsg-specific flag either.
+ */
+#ifndef MSG_WAITFORONE
+#define MSG_WAITFORONE 0x10000
+#endif
+
+static abi_long do_sendrecvmmsg(int fd, abi_ulong target_msgvec,
+                                unsigned int vlen, unsigned int flags,
+                                int send)
+{
+    struct target_mmsghdr *mmsgp;
+    abi_long ret = 0;
+    int i;
+
+    if (vlen > UIO_MAXIOV) {
+        vlen = UIO_MAXIOV;
+    }
+
+    mmsgp = lock_user(VERIFY_WRITE, target_msgvec, sizeof(*mmsgp) * vlen, 1);
+    if (!mmsgp) {
+        return -TARGET_EFAULT;
+    }
+
+    for (i = 0; i < vlen; i++) {
+        ret = do_sendrecvmsg_locked(fd, &mmsgp[i].msg_hdr, flags, send);
+        if (is_error(ret)) {
+            break;
+        }
+        mmsgp[i].msg_len = tswap32(ret);
+        /* MSG_WAITFORONE turns on MSG_DONTWAIT after one packet */
+        if (flags & MSG_WAITFORONE) {
+            flags |= MSG_DONTWAIT;
+        }
+    }
+
+    unlock_user(mmsgp, target_msgvec, sizeof(*mmsgp) * i);
+
+    /* Return number of datagrams sent if we sent any at all;
+     * otherwise return the error.
+     */
+    if (i) {
+        return i;
+    }
+    return ret;
+}
+#endif
+
 /* If we don't have a system accept4() then just call accept.
  * The callsites to do_accept4() will ensure that they don't
  * pass a non-zero flags argument in this config.
@@ -6716,6 +6774,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
         ret = do_sendrecvmsg(arg1, arg2, arg3, 1);
         break;
 #endif
+#ifdef TARGET_NR_sendmmsg
+    case TARGET_NR_sendmmsg:
+        ret = do_sendrecvmmsg(arg1, arg2, arg3, arg4, 1);
+        break;
+    case TARGET_NR_recvmmsg:
+        ret = do_sendrecvmmsg(arg1, arg2, arg3, arg4, 0);
+        break;
+#endif
 #ifdef TARGET_NR_sendto
     case TARGET_NR_sendto:
         ret = do_sendto(arg1, arg2, arg3, arg4, arg5, arg6);
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index d55f396..732c9e3 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -240,6 +240,10 @@ __target_cmsg_nxthdr (struct target_msghdr *__mhdr, struct target_cmsghdr *__cms
   return __cmsg;
 }
 
+struct target_mmsghdr {
+    struct target_msghdr msg_hdr;              /* Message header */
+    unsigned int         msg_len;              /* Number of bytes transmitted */
+};
 
 struct  target_rusage {
         struct target_timeval ru_utime;        /* user time used */
-- 
1.9.0

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

* Re: [Qemu-devel] [PATCH 4/5] linux-user: Fix getresuid, getresgid if !USE_UID16
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 4/5] linux-user: Fix getresuid, getresgid if !USE_UID16 Peter Maydell
@ 2014-03-02 21:05   ` Andreas Färber
  0 siblings, 0 replies; 9+ messages in thread
From: Andreas Färber @ 2014-03-02 21:05 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Alexander Graf, Michael Matz, patches

Am 02.03.2014 20:36, schrieb Peter Maydell:
> The size of the UID/GID types depends on whether USE_UID16 is
> defined. Define a new put_user_id() which writes a uid/gid
> type to guest memory. This fixes getresuid and getresgid, which
> were always storing 16 bits even if the uid type was 32 bits.
> 
> Reported-by: Michael Matz <matz@suse.de>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> The SuSE 1.6 tree has a fix for this bug (hence the
> reported-by:) but I preferred to fix it in a different
> way to avoid introducing more ifdefs.

Looks sensible to me,

Reviewed-by: Andreas Färber <afaerber@suse.de>

Thanks,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

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

* Re: [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64
  2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
                   ` (4 preceding siblings ...)
  2014-03-02 19:36 ` [Qemu-devel] [PATCH 5/5] linux-user: Implement sendmmsg syscall Peter Maydell
@ 2014-03-03 16:33 ` Richard Henderson
  2014-03-03 21:10 ` Riku Voipio
  6 siblings, 0 replies; 9+ messages in thread
From: Richard Henderson @ 2014-03-03 16:33 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Andreas Schwab, Riku Voipio, Alexander Graf, Michael Matz, patches

On 03/02/2014 11:36 AM, Peter Maydell wrote:
> Alexander Graf (1):
>   linux-user: Implement sendmmsg syscall
> 
> Andreas Schwab (1):
>   linux-user: Don't use UID16 on AArch64
> 
> Michael Matz (1):
>   linux-user: AArch64: Implement SA_RESTORER for signal handlers
> 
> Peter Maydell (2):
>   linux-user/signal.c: Fix AArch64 big-endian FP register restore
>   linux-user: Fix getresuid, getresgid if !USE_UID16

Reviewed-by: Richard Henderson <rth@twiddle.net>


r~

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

* Re: [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64
  2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
                   ` (5 preceding siblings ...)
  2014-03-03 16:33 ` [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Richard Henderson
@ 2014-03-03 21:10 ` Riku Voipio
  6 siblings, 0 replies; 9+ messages in thread
From: Riku Voipio @ 2014-03-03 21:10 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel

On Sun, Mar 02, 2014 at 07:36:37PM +0000, Peter Maydell wrote:
> Riku: do you want to take these via linux-user or should I
> put them in via target-arm? linux-user seems like it makes more
> sense to me; there's no dependency on target-arm patches and
> some of the patches are generic fixes. Either way I definitely
> want to get these into 2.0...

Sure, no problem, I'll send a linux-user update with these and
Petar's two patches. I definetly want to see these patches in 2.0
as well!

Riku

> thanks
> -- PMM
> 
> Alexander Graf (1):
>   linux-user: Implement sendmmsg syscall
> 
> Andreas Schwab (1):
>   linux-user: Don't use UID16 on AArch64
> 
> Michael Matz (1):
>   linux-user: AArch64: Implement SA_RESTORER for signal handlers
> 
> Peter Maydell (2):
>   linux-user/signal.c: Fix AArch64 big-endian FP register restore
>   linux-user: Fix getresuid, getresgid if !USE_UID16
> 
>  linux-user/signal.c       |  26 ++++++++----
>  linux-user/syscall.c      | 104 +++++++++++++++++++++++++++++++++++++++-------
>  linux-user/syscall_defs.h |   7 +++-
>  3 files changed, 112 insertions(+), 25 deletions(-)
> 
> -- 
> 1.9.0
> 

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

end of thread, other threads:[~2014-03-03 21:10 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-02 19:36 [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Peter Maydell
2014-03-02 19:36 ` [Qemu-devel] [PATCH 1/5] linux-user/signal.c: Fix AArch64 big-endian FP register restore Peter Maydell
2014-03-02 19:36 ` [Qemu-devel] [PATCH 2/5] linux-user: AArch64: Implement SA_RESTORER for signal handlers Peter Maydell
2014-03-02 19:36 ` [Qemu-devel] [PATCH 3/5] linux-user: Don't use UID16 on AArch64 Peter Maydell
2014-03-02 19:36 ` [Qemu-devel] [PATCH 4/5] linux-user: Fix getresuid, getresgid if !USE_UID16 Peter Maydell
2014-03-02 21:05   ` Andreas Färber
2014-03-02 19:36 ` [Qemu-devel] [PATCH 5/5] linux-user: Implement sendmmsg syscall Peter Maydell
2014-03-03 16:33 ` [Qemu-devel] [PATCH 0/5] linux-user: various fixes for AArch64 Richard Henderson
2014-03-03 21:10 ` Riku Voipio

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.