qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] e5ce96: linux-user: Add support for ppoll_tim


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] e5ce96: linux-user: Add support for ppoll_time64() and pse...
Date: Mon, 07 Sep 2020 09:00:36 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e5ce9688b47a8f60337ce1e4108f35577494a46a
      
https://github.com/qemu/qemu/commit/e5ce9688b47a8f60337ce1e4108f35577494a46a
  Author: Filip Bozuta <Filip.Bozuta@syrmia.com>
  Date:   2020-09-05 (Sat, 05 Sep 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Add support for ppoll_time64() and pselect6_time64()

This patch introduces functionality for following time64 syscalls:

*ppoll_time64

    This is a year 2038 safe variant of:

    int poll(struct pollfd *fds, nfds_t nfds, int timeout)
    -- wait for some event on a file descriptor --
    man page: https://man7.org/linux/man-pages/man2/ppoll.2.html

*pselect6_time64

    This is a year 2038 safe variant of:

    int pselect6(int nfds, fd_set *readfds, fd_set *writefds,
                 fd_set *exceptfds, const struct timespec *timeout,
                 const sigset_t *sigmask);
    -- synchronous I/O multiplexing --
    man page: https://man7.org/linux/man-pages/man2/pselect6.2.html

Implementation notes:

    Year 2038 safe syscalls in this patch were implemented
    with the same code as their regular variants (ppoll() and pselect()).
    This code was moved to new functions ('do_ppoll()' and 'do_pselect6()')
    that take a 'bool time64' from which a right 'struct timespec' converting
    function is called.
    (target_to_host/host_to_target_timespec() for regular and
     target_to_host/host_to_target_timespec64() for time64 variants)

Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200824223050.92032-2-Filip.Bozuta@syrmia.com>
[lv: rebase and fix do_pselect6()]
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 8a0451886824fb266fbdcd1ca01d6acb023e3e09
      
https://github.com/qemu/qemu/commit/8a0451886824fb266fbdcd1ca01d6acb023e3e09
  Author: Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
  Date:   2020-09-05 (Sat, 05 Sep 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Correctly start brk after executable

info->brk was erroneously set to the end of highest addressed
writable segment which could result it in overlapping the executable.

As per load_elf_binary in fs/binfmt_elf.c in Linux, it should be
set to end of highest addressed segment.

Signed-off-by: Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200728224615.326675-1-T.E.Baldwin99@members.leeds.ac.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: a7b4c9b1b411a8d54882e75c046b026a7a9754f9
      
https://github.com/qemu/qemu/commit/a7b4c9b1b411a8d54882e75c046b026a7a9754f9
  Author: Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
  Date:   2020-09-06 (Sun, 06 Sep 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Map signal numbers in fcntl

Map signal numbers in fcntl F_SETSIG and F_GETSIG.

Signed-off-by: Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <72cc725c-f344-b7f1-d559-401867067d80@members.leeds.ac.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 4d6e318af00eab64977370163404fece78d56ef3
      
https://github.com/qemu/qemu/commit/4d6e318af00eab64977370163404fece78d56ef3
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2020-09-06 (Sun, 06 Sep 2020)

  Changed paths:
    M linux-user/ppc/termbits.h

  Log Message:
  -----------
  linux-user: fix ppc/termbits.h

On ppc, in termios, c_line is after c_cc, not before .

Fixes: c218b4ede4f9 ("linux-user: Add missing termbits types and values 
definitions")
Cc: Filip.Bozuta@syrmia.com
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200830181620.422036-1-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 5d5d17522f59696d18fdbc51984c7b4ebf191f7c
      
https://github.com/qemu/qemu/commit/5d5d17522f59696d18fdbc51984c7b4ebf191f7c
  Author: Filip Bozuta <Filip.Bozuta@syrmia.com>
  Date:   2020-09-06 (Sun, 06 Sep 2020)

  Changed paths:
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: Protect btrfs ioctl target definitions

Target definitions of btrfs ioctls in 'syscall_defs.h' use
the value BTRFS_IOCTL_MAGIC that is defined header 'btrfs.h'.
This header is not available in kernel versions before 3.9.
For that reason, these target ioctl definitions should be
enwrapped in an #ifdef directive to check whether the 'btrfs.h'
header is available as to not cause build errors on older
Linux systems.

Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200905163802.2666-1-Filip.Bozuta@syrmia.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 9d5589bb3feed442ae7ee24d2d882aa0312349a6
      
https://github.com/qemu/qemu/commit/9d5589bb3feed442ae7ee24d2d882aa0312349a6
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/ppc/termbits.h
    M linux-user/syscall.c
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging

Add ppoll_time64() and pselect6_time64()
Some fixes for for elfload, fcntl, termbits and btrfs

# gpg: Signature made Mon 07 Sep 2020 10:17:24 BST
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-5.2-pull-request:
  linux-user: Protect btrfs ioctl target definitions
  linux-user: fix ppc/termbits.h
  linux-user: Map signal numbers in fcntl
  linux-user: Correctly start brk after executable
  linux-user: Add support for ppoll_time64() and pselect6_time64()

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/62f9256052df...9d5589bb3fee



reply via email to

[Prev in Thread] Current Thread [Next in Thread]