Subject: Re: m88k system call convention
To: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: netbsd-ports
Date: 02/08/2000 09:49:32
On Tue, 8 Feb 2000 14:48:26 +0900 (JST) 
 nisimura@itc.aist-nara.ac.jp (Toru Nishimura) wrote:

 > I'm running research about NetBSD port on OMRON luna88k.  I looked
 > through library codes of LUNA Mach2.5 and OpenBSD/m88k, and found that
 > they use different calling convention for system call.  My Q is which
 > way should I use for NetBSD/m88k?
 > 
 > - LUNA Mach2.5
 >    issue "tb0 0,r0,128" after storing the system call number in r9.
 > 
 > - OpenBSD/m88k
 >    issue "tb0 0,r0,128" after storing the first 3 argments in r10,r11,r12,
 >    and system call number in r13.

I guess the question boils down to: what is the normal function calling
convention for the m88k?

If it's pass-args-on-stack, I think the Mach syscall method makes more
sense... if it's pass-args-in-regs-then-on-stack, the OpenBSD method
makes more sense.

Take a look at alpha/alpha/trap.c:syscall() ... this is probably how
the OpenBSD/m88k method works, too.

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>