QEMU-Devel Archive on lore.kernel.org
 help / color / Atom feed
From: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
To: Laurent Vivier <laurent@vivier.eu>
Cc: Aleksandar Markovic <aleksandar.markovic@rt-rk.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Aleksandar Markovic <amarkovic@wavecomp.com>
Subject: Re: [PATCH v5 05/20] linux-user: mips: Update syscall numbers to kernel 5.5 rc3 level
Date: Tue, 4 Feb 2020 23:53:11 +0100
Message-ID: <CAL1e-=iMQ9orkQBzb5kzJyiiP_QBOTUwVq2s92-2jq+M0qcbrA@mail.gmail.com> (raw)
In-Reply-To: <96c7bed8-8292-bd35-ba79-717cf543fa47@vivier.eu>

[-- Attachment #1: Type: text/plain, Size: 3075 bytes --]

On Tuesday, February 4, 2020, Laurent Vivier <laurent@vivier.eu> wrote:

> Le 04/02/2020 à 12:56, Aleksandar Markovic a écrit :
> > On Tue, Jan 14, 2020 at 5:40 PM Laurent Vivier <laurent@vivier.eu>
> wrote:
> >>
> >> Le 13/01/2020 à 21:34, Aleksandar Markovic a écrit :
> >>> From: Aleksandar Markovic <amarkovic@wavecomp.com>
> >>>
> >>> Update mips syscall numbers based on Linux kernel tag v5.5-rc3
> >>> (commit 46cf053e).
> >>>
> >>> Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
> >>> ---
> >>>  linux-user/mips/cpu_loop.c     | 78 ++++++++++++++++++++++++++++++
> +++++++++++-
> >>>  linux-user/mips/syscall_nr.h   | 45 ++++++++++++++++++++++++
> >>>  linux-user/mips64/syscall_nr.h | 13 +++++++
> >>>  3 files changed, 135 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c
> >>> index 39915b3..b81479b 100644
> >>> --- a/linux-user/mips/cpu_loop.c
> >>> +++ b/linux-user/mips/cpu_loop.c
> >>> @@ -25,8 +25,9 @@
> >>>  #include "internal.h"
> >>>
> >>>  # ifdef TARGET_ABI_MIPSO32
> >>> +#  define MIPS_SYSCALL_NUMBER_UNUSED -1
> >>
> >> I'm not sure you need to introduce this change.
> >>
> >> The case already exists (stat, fstat, old_select, lstat, ...) and the
> >> entry that was used is:
> >>
> >>            MIPS_SYS(sys_ni_syscall , 0)
> >>
> >> perhaps you can do the same ?
> >>
> >
> > I like better the new way of dealing with this (like in this patch),
> since it is
> > more explicit. For now, I won't change this patch, if you agree, and
> later on
> > I will synchronize all such cases to be the same (but this is not
> critical for
> > the time being).
>
> So Perhaps you can do:
>
> #  define MIPS_SYSCALL_NUMBER_UNUSED 0
>
> And so the real availability of the syscall will be detected in
> do_syscall1() based on a "#ifdef TARGET_XXXX" (well, not sure
> syscall_nr.h differentiates O32 and N32)
>
> By the way, do we really need this table?
>
> It seems kernel is always copying 4 words from the stack.
> But kernel code is not really clear, perhaps I'm missing something...
>
>
Yes, Laurent, we actually don't need that table. We could have just a
series of preprocessor constants, like any other ABI, but it would have
required larger code reorganization. It started that way long time ago, and
nobody bothered to correct this, partially for sure because of fear of
regressions.

I am not in the mood for refactoring this area of code right now in any
substantial way, until the situation stabilizes with new syscalls. The
current solution in this patch is good enough for me, and it is not that
intrusive, which I like. Please accept it as is, and the time for
refactoring will hopefully come at some later point of time.

I prefer several incremental smaller refactoring to one large one. I'll
take into account all your suggestions and hints.

Thanks, Aleksandar


> In the end, as you are the MIPS maintainer, you can choose the solution
> you prefer.
>
> Thanks,
> Laurent
>

[-- Attachment #2: Type: text/html, Size: 4043 bytes --]

  reply index

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-13 20:34 [PATCH v5 00/20] linux-user: Misc patches for 5.0 Aleksandar Markovic
2020-01-13 20:34 ` [PATCH v5 01/20] linux-user: Fix some constants in termbits.h Aleksandar Markovic
2020-01-14 14:16   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 02/20] linux-user: alpha: Update syscall numbers to kernel 5.5 rc3 level Aleksandar Markovic
2020-01-14 15:12   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 03/20] linux-user: m68k: " Aleksandar Markovic
2020-01-14 15:03   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 04/20] linux-user: microblaze: " Aleksandar Markovic
2020-01-14 15:06   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 05/20] linux-user: mips: " Aleksandar Markovic
2020-01-14 16:39   ` Laurent Vivier
2020-02-04 11:56     ` Aleksandar Markovic
2020-02-04 22:34       ` Laurent Vivier
2020-02-04 22:53         ` Aleksandar Markovic [this message]
2020-01-13 20:34 ` [PATCH v5 06/20] linux-user: x86_64: " Aleksandar Markovic
2020-01-14 15:16   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 07/20] linux-user: xtensa: " Aleksandar Markovic
2020-01-14 15:08   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 08/20] linux-user: xtensa: Remove unused constant TARGET_NR_syscall_count Aleksandar Markovic
2020-01-14 14:59   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 09/20] linux-user: Add support for FS_IOC_<GET|SET>VERSION ioctls Aleksandar Markovic
2020-01-14 14:21   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 10/20] linux-user: Add support for FS_IOC32_<GET|SET>FLAGS ioctls Aleksandar Markovic
2020-01-14 14:24   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 11/20] linux-user: Add support for FS_IOC32_<GET|SET>VERSION ioctls Aleksandar Markovic
2020-01-14 14:24   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 12/20] linux-user: Add support for FS_IOC_FS<GET|SET>XATTR ioctls Aleksandar Markovic
2020-01-14 14:29   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 13/20] linux-user: Add support for FITRIM ioctl Aleksandar Markovic
2020-01-14 14:32   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 14/20] linux-user: Add support for FIFREEZE and FITHAW ioctls Aleksandar Markovic
2020-01-14 14:34   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 15/20] linux-user: Add support for FD<SETEMSGTRESH|SETMAXERRS|GETMAXERRS> ioctls Aleksandar Markovic
2020-01-14 14:36   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 16/20] linux-user: Add support for FDFMT<BEG|TRK|END> ioctls Aleksandar Markovic
2020-01-14 14:38   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 17/20] linux-user: Add support for FDGETFDCSTAT ioctl Aleksandar Markovic
2020-01-14 14:42   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 18/20] configure: Detect kcov support and introduce CONFIG_KCOV Aleksandar Markovic
2020-01-14 14:48   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 19/20] linux-user: Add support for KCOV_<ENABLE|DISABLE> ioctls Aleksandar Markovic
2020-01-14 14:49   ` Laurent Vivier
2020-01-13 20:34 ` [PATCH v5 20/20] linux-user: Add support for KCOV_INIT_TRACE ioctl Aleksandar Markovic
2020-01-14 14:53   ` Laurent Vivier

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='CAL1e-=iMQ9orkQBzb5kzJyiiP_QBOTUwVq2s92-2jq+M0qcbrA@mail.gmail.com' \
    --to=aleksandar.m.mail@gmail.com \
    --cc=aleksandar.markovic@rt-rk.com \
    --cc=amarkovic@wavecomp.com \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@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

QEMU-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git
	git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \
		qemu-devel@nongnu.org
	public-inbox-index qemu-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git