public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Adrian Bunk <bunk@stusta.de>
Cc: Miles Bader <miles@gnu.org>, linux-kernel@vger.kernel.org
Subject: Re: [2.6 patch] re-add required code to include/asm-v850/unistd.h
Date: Sat, 7 Jul 2007 23:41:15 +0200	[thread overview]
Message-ID: <200707072341.16389.arnd@arndb.de> (raw)
In-Reply-To: <20070707211124.GN3492@stusta.de>

On Saturday 07 July 2007, Adrian Bunk wrote:
> 
> Commit f5738ceed46782aea7663d62cb6398eb05fc4ce0 removed a bit too much, 
> resulting in the following compile error:

Sorry about the trouble this has caused you.

>  #ifdef __KERNEL__
>  
> +/* Syscall protocol:
> +   Syscall number in r12, args in r6-r9, r13-r14
> +   Return value in r10
> +   Trap 0 for `short' syscalls, where all the args can fit in function
> +   call argument registers, and trap 1 when there are additional args in
> +   r13-r14.  */
> +
> +#define SYSCALL_NUM    "r12"
> +#define SYSCALL_ARG0   "r6"
> +#define SYSCALL_ARG1   "r7"
> +#define SYSCALL_ARG2   "r8"
> +#define SYSCALL_ARG3   "r9"
> +#define SYSCALL_ARG4   "r13"
> +#define SYSCALL_ARG5   "r14"
> +#define SYSCALL_RET    "r10"
> +
> +#define SYSCALL_SHORT_TRAP     "0"
> +#define SYSCALL_LONG_TRAP      "1"
> +
> +/* Registers clobbered by any syscall.  This _doesn't_ include the syscall
> +   number (r12) or the `extended arg' registers (r13, r14), even though
> +   they are actually clobbered too (this is because gcc's `asm' statement
> +   doesn't allow a clobber to be used as an input or output).  */
> +#define SYSCALL_CLOBBERS       "r1", "r5", "r11", "r15", "r16", \
> +                               "r17", "r18", "r19"
> +
> +/* Registers clobbered by a `short' syscall.  This includes all clobbers
> +   except the syscall number (r12).  */
> +#define SYSCALL_SHORT_CLOBBERS SYSCALL_CLOBBERS, "r13", "r14"
> +

Wouldn't it be more appropriate to just open-code the contents of these
macros in the place where they are used?

Even better probably would be to convert the v850 kernel_thread code
to call do_fork directly, like most other architectures do.

	Arnd <><

  reply	other threads:[~2007-07-07 21:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-07 21:11 [2.6 patch] re-add required code to include/asm-v850/unistd.h Adrian Bunk
2007-07-07 21:41 ` Arnd Bergmann [this message]
2007-07-11 15:16   ` Adrian Bunk
2007-07-13  5:49     ` Miles Bader

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=200707072341.16389.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=bunk@stusta.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miles@gnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox