public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [2.6 patch] re-add required code to include/asm-v850/unistd.h
@ 2007-07-07 21:11 Adrian Bunk
  2007-07-07 21:41 ` Arnd Bergmann
  0 siblings, 1 reply; 4+ messages in thread
From: Adrian Bunk @ 2007-07-07 21:11 UTC (permalink / raw)
  To: Arnd Bergmann, Miles Bader; +Cc: linux-kernel

Commit f5738ceed46782aea7663d62cb6398eb05fc4ce0 removed a bit too much, 
resulting in the following compile error:

<--  snip  -->

...
  CC      arch/v850/kernel/process.o
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c: In function 'kernel_thread':
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:77: error: syntax error before 'SYSCALL_NUM'
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:78: error: syntax error before 'SYSCALL_ARG0'
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:79: error: syntax error before 'SYSCALL_RET'
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:86: error: 'arg0' undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:86: error: (Each undeclared identifier is reported only once
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:86: error: for each function it appears in.)
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:87: error: 'syscall' undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:88: error: syntax error before 'SYSCALL_SHORT_TRAP'
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:93: error: 'ret' undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/v850/kernel/process.c:97: error: syntax error before 'SYSCALL_SHORT_TRAP'
make[2]: *** [arch/v850/kernel/process.o] Error 1

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 include/asm-v850/unistd.h |   30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

--- linux-2.6.22-rc6-mm1/include/asm-v850/unistd.h.old	2007-07-07 22:30:01.000000000 +0200
+++ linux-2.6.22-rc6-mm1/include/asm-v850/unistd.h	2007-07-07 22:31:55.000000000 +0200
@@ -206,6 +206,36 @@
 
 #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"
+
 #define __ARCH_WANT_IPC_PARSE_VERSION
 #define __ARCH_WANT_OLD_READDIR
 #define __ARCH_WANT_STAT64


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [2.6 patch] re-add required code to include/asm-v850/unistd.h
  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
  2007-07-11 15:16   ` Adrian Bunk
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2007-07-07 21:41 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Miles Bader, linux-kernel

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 <><

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [2.6 patch] re-add required code to include/asm-v850/unistd.h
  2007-07-07 21:41 ` Arnd Bergmann
@ 2007-07-11 15:16   ` Adrian Bunk
  2007-07-13  5:49     ` Miles Bader
  0 siblings, 1 reply; 4+ messages in thread
From: Adrian Bunk @ 2007-07-11 15:16 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Miles Bader, linux-kernel

On Sat, Jul 07, 2007 at 11:41:15PM +0200, Arnd Bergmann wrote:
> 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.

No problem, I only ran into it when doing crosscompile tests.

> >  #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.

The bigger problem seems to be that v850 is not that near at compiling 
at all...  :-(

> 	Arnd <><

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [2.6 patch] re-add required code to include/asm-v850/unistd.h
  2007-07-11 15:16   ` Adrian Bunk
@ 2007-07-13  5:49     ` Miles Bader
  0 siblings, 0 replies; 4+ messages in thread
From: Miles Bader @ 2007-07-13  5:49 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Arnd Bergmann, linux-kernel

Adrian Bunk <bunk@stusta.de> writes:
>> 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.
>
> The bigger problem seems to be that v850 is not that near at compiling 
> at all...  :-(

Yeah, I'm working on other things these days, so I only check up on the
v850 port occasionally.

I'll see what I can do to get things working again.

Thanks,

-Miles

-- 
"Most attacks seem to take place at night, during a rainstorm, uphill,
 where four map sheets join."   -- Anon. British Officer in WW I

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-07-13  5:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2007-07-11 15:16   ` Adrian Bunk
2007-07-13  5:49     ` Miles Bader

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox