All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Laurent Vivier <laurent@vivier.eu>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Cornelia Huck" <cohuck@redhat.com>,
	qemu-devel@nongnu.org, qemu-s390x@nongnu.org,
	"Aleksandar Markovic" <amarkovic@wavecomp.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Aleksandar Markovic" <aleksandar.m.mail@gmail.com>
Subject: Re: [Qemu-devel] [PULL v3 47/55] linux headers: update against Linux 5.2-rc1
Date: Thu, 23 May 2019 20:16:12 +0100	[thread overview]
Message-ID: <87ftp50yo3.fsf@zen.linaroharston> (raw)
In-Reply-To: <e01100bc-50ee-5cc2-2802-a098acc720ac@vivier.eu>


Laurent Vivier <laurent@vivier.eu> writes:

> On 23/05/2019 13:56, Cornelia Huck wrote:
>> On Wed, 22 May 2019 15:22:23 +0200
>> Aleksandar Markovic <aleksandar.m.mail@gmail.com> wrote:
>>
>>> The alternative way of invoking via IPCV6 (else part of “ifdef
>>> __NR_MSGSND”) should work for MIPS in the present stage of headers and
>>> kernel.
>>
>> I tried to do that so that we have at least a workaround for now; but
>> this fails building on my x86 laptop (the safe_syscall6 for ipc
>> complains about missing __NR_ipc). Maybe I'm holding it wrong (should
>> that be conditional on the host?), but I think that really needs to be
>> done by the mips maintainers...
>>
>
> Perhaps a simple workaround could be:
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index e311fcda0517..5b431736032c 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -761,14 +761,8 @@ safe_syscall2(int, nanosleep, const struct timespec *, req,
>  safe_syscall4(int, clock_nanosleep, const clockid_t, clock, int, flags,
>                const struct timespec *, req, struct timespec *, rem)
>  #endif
> -#ifdef __NR_msgsnd
> -safe_syscall4(int, msgsnd, int, msgid, const void *, msgp, size_t, sz,
> -              int, flags)
> -safe_syscall5(int, msgrcv, int, msgid, void *, msgp, size_t, sz,
> -              long, msgtype, int, flags)
> -safe_syscall4(int, semtimedop, int, semid, struct sembuf *, tsops,
> -              unsigned, nsops, const struct timespec *, timeout)
> -#else
> +
> +#ifdef __NR_ipc
>  /* This host kernel architecture uses a single ipc syscall; fake up
>   * wrappers for the sub-operations to hide this implementation detail.
>   * Annoyingly we can't include linux/ipc.h to get the constant definitions
> @@ -783,14 +777,30 @@ safe_syscall4(int, semtimedop, int, semid, struct sembuf *, tsops,
>
>  safe_syscall6(int, ipc, int, call, long, first, long, second, long, third,
>                void *, ptr, long, fifth)
> +#endif

*sigh* almost but for arches we get complaints when the ipc syscall is
 defined but not used....

  https://app.shippable.com/github/stsquad/qemu/runs/835/summary/console

> +
> +#ifdef __NR_msgsnd
> +safe_syscall4(int, msgsnd, int, msgid, const void *, msgp, size_t, sz,
> +              int, flags)
> +#else
>  static int safe_msgsnd(int msgid, const void *msgp, size_t sz, int flags)
>  {
>      return safe_ipc(Q_IPCCALL(0, Q_MSGSND), msgid, sz, flags, (void *)msgp, 0);
>  }
> +#endif
> +#ifdef __NR_msgrcv
> +safe_syscall5(int, msgrcv, int, msgid, void *, msgp, size_t, sz,
> +              long, msgtype, int, flags)
> +#else
>  static int safe_msgrcv(int msgid, void *msgp, size_t sz, long type, int flags)
>  {
>      return safe_ipc(Q_IPCCALL(1, Q_MSGRCV), msgid, sz, flags, msgp, type);
>  }
> +#endif
> +#ifdef __NR_semtimedop
> +safe_syscall4(int, semtimedop, int, semid, struct sembuf *, tsops,
> +              unsigned, nsops, const struct timespec *, timeout)
> +#else
>  static int safe_semtimedop(int semid, struct sembuf *tsops, unsigned nsops,
>                             const struct timespec *timeout)
>  {


--
Alex Bennée


  parent reply	other threads:[~2019-05-23 19:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-21 15:28 [Qemu-devel] [PULL v3 00/55] s390x update Cornelia Huck
2019-05-21 15:28 ` [Qemu-devel] [PULL v3 46/55] update-linux-headers: handle new header file Cornelia Huck
2019-05-21 15:28 ` [Qemu-devel] [PULL v3 47/55] linux headers: update against Linux 5.2-rc1 Cornelia Huck
2019-05-22 11:47   ` Philippe Mathieu-Daudé
2019-05-22 12:07     ` Cornelia Huck
2019-05-22 12:10       ` Laurent Vivier
2019-05-22 12:24         ` Cornelia Huck
2019-05-22 13:22           ` Aleksandar Markovic
2019-05-22 13:28             ` Aleksandar Markovic
2019-05-22 13:42             ` Alex Bennée
2019-05-22 13:50             ` Cornelia Huck
2019-05-23 21:15               ` Aleksandar Markovic
2019-05-23 11:56             ` Cornelia Huck
2019-05-23 12:30               ` Laurent Vivier
2019-05-23 12:58                 ` Philippe Mathieu-Daudé
2019-05-23 19:16                 ` Alex Bennée [this message]
2019-05-23 19:18                   ` Laurent Vivier
2019-05-22 13:33           ` Alex Bennée
2019-05-21 16:10 ` [Qemu-devel] [PULL v3 00/55] s390x update Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2019-05-22 13:50 [Qemu-devel] [PULL v3 47/55] linux headers: update against Linux 5.2-rc1 Aleksandar Markovic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ftp50yo3.fsf@zen.linaroharston \
    --to=alex.bennee@linaro.org \
    --cc=aleksandar.m.mail@gmail.com \
    --cc=amarkovic@wavecomp.com \
    --cc=cohuck@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.