Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!lucy.swin.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!news.ececs.uc.edu!news.kei.com!news.mathworks.com!howland.erols.net!ix.netcom.com!news
From: Tsang Shing <henryt2@ix.netcom.com>
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: BSD-syscall
Date: Mon, 10 Feb 1997 00:27:14 -0800
Organization: Netcom
Lines: 27
Message-ID: <32FEDBE2.2D44@ix.netcom.com>
NNTP-Posting-Host: wck-ca9-05.ix.netcom.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-NETCOM-Date: Mon Feb 10 1:35:35 AM CST 1997
X-Mailer: Mozilla 2.01E-NC250 (Win16; U)
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:35286
Hi, I have a project that using BSD 2.1.6 to implement a syscall.I need to
add a new mapping from syscall number to kernel handler function.For
instance, I need to map syscall number 151 to a function call foo(). I
undestand I need to edit the file,
syscall.master line 151,change that line
from 151 UNIMPL 0 NOHIDE nosys
to:
151 STD 2 BSD semaphore
Then I need to run makesyscalls.sh. This generatess syscalls.c. But I don't
know how to run the makesyscalls.sh ?
Then also , I need to define a syscall handler for this in the kern
directory.But I don't know how to do this. Some people told me to look
at other syscall handlers(i.e. vfs_syscalls.c) to get some idea of function
declaration, but the file is too big, I can't figure out what can I get from
other files!
Then I need to re-configure and re-make kernel and in the end, after reboot,
I can access my syscall with syscall(151,arg1,arg2)
If someone knows all those stuff, understand those things, please email me
back! Would you also give me an example that the function foo() need to use
the args? Also, is that true that those arguments are only for another
funtion-- the syscall handler? I just so confused about all these
things, please give me one simple example, one simple example of this
implementation. Thanks.
Henry