All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Matthew Wilcox <matthew@wil.cx>,
	Gerd Hoffmann <kraxel@redhat.com>,
	linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	Ulrich Drepper <drepper@redhat.com>
Subject: Re: [PATCH v2] Add preadv and pwritev system calls.
Date: Fri, 12 Dec 2008 19:02:42 +0000	[thread overview]
Message-ID: <20081212190242.GB5774@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20081212182142.46dcf220@lxorguk.ukuu.org.uk>

On Fri, Dec 12, 2008 at 06:21:42PM +0000, Alan Cox wrote:
> On Fri, 12 Dec 2008 10:03:47 -0700
> Matthew Wilcox <matthew@wil.cx> wrote:
> 
> > On Fri, Dec 12, 2008 at 05:02:05PM +0100, Gerd Hoffmann wrote:
> > > I'd *really* hate it to have the same system call with different
> > > argument ordering on different systems though.  Especially when swapping
> > > two integer values, so gcc wouldn't error out on wrong usage.
> > 
> > We can always permute it further:
> > 
> > int fd, int vlen, loff_t pos, const struct *
> 
> Or you could add cobol calling syntax or pass the arguments in XML
> format ?
> 
> Any particular reason you want to make things hell for programmers and
> the standard people. Follow the BSD one at least to user space. Anything
> else will just lead to pain and suffering later on the standardisation
> front.

Yes - non-aligned 64-bit arguments in registers really really really
sucks.  On ARM, we will change the syscall argument ordering to avoid
having additional compatibility implementations for EABI vs OABI.

The same goes for similar ABIs with restrictions on 64-bit arguments.

There are causes were a syscall just can not be used on such ABIs.  Eg,

	int a1, unsigned long long a2, int a3, unsigned long long a4

is an impossible syscall argument order for ARM - we run out of registers
for the upper word of 'a4'.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

  reply	other threads:[~2008-12-12 19:11 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-12 14:00 Gerd Hoffmann
2008-12-12 15:29 ` Matthew Wilcox
2008-12-12 15:48   ` Gerd Hoffmann
2008-12-12 15:51     ` Matthew Wilcox
2008-12-12 16:02       ` Gerd Hoffmann
2008-12-12 17:03         ` Matthew Wilcox
2008-12-12 18:21           ` Alan Cox
2008-12-12 19:02             ` Russell King [this message]
2008-12-12 18:29         ` Scott Lurndal
2008-12-12 19:07           ` Russell King
2008-12-12 19:56             ` Gerd Hoffmann
2008-12-12 19:56               ` Gerd Hoffmann
2008-12-12 20:12               ` Russell King
2008-12-12 20:39                 ` Gerd Hoffmann
2008-12-12 20:39                   ` Gerd Hoffmann
2008-12-14 18:19               ` Pavel Machek
2008-12-15 16:37         ` Jennifer Pioch
2008-12-15 20:43           ` Gerd Hoffmann
2008-12-16  9:57             ` Arnd Bergmann
2008-12-17  1:45               ` [osol-code] " Dan Mick
2008-12-17  1:45                 ` Dan Mick
2008-12-12 19:47   ` Arnd Bergmann
2008-12-12 20:02     ` Gerd Hoffmann
2008-12-14 11:49   ` Heiko Carstens
2008-12-15  4:14   ` Paul Mackerras
2008-12-15  6:20     ` David Miller
2008-12-12 15:40 ` Ralf Baechle
2008-12-12 16:59 ` Russell King
2008-12-13  1:18 ` Michael Kerrisk

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=20081212190242.GB5774@flint.arm.linux.org.uk \
    --to=rmk+lkml@arm.linux.org.uk \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=drepper@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --subject='Re: [PATCH v2] Add preadv and pwritev system calls.' \
    /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

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.