Can anyone help clarify details about the FreeBSD system call interface?

Benjamin Kaduk bjk at freebsd.org
Wed Sep 3 21:35:13 UTC 2014


On Thu, 28 Aug 2014, Steven Stewart-Gallus wrote:

> > svn blame says that the whole implementation dates from r1541.
> > Looks like
> > it was never implemented.  Some googling indicates that it was a
> > plannedroutine to set the stack size, which was never implemented,
> > anywhere.
>
> > The locking comments were added in r79224, but the implementation is
> > otherwise from r1541, i.e., it was never implemented.
>
> Alright, so sys/kern/syscalls.master can be patched somewhat like so
> and I won't need to document them?
>
> -72	AUE_O_VADVISE	STD	{ int ovadvise(int anom); } vadvise \
> -				    ovadvise_args int
> +72	AUE_NULL	OBSOL   ovadvise
>
> -70	AUE_SSTK	STD	{ int sstk(int incr); }
> +70	AUE_SSTK	OBSOL	sstk

I don't think so; I think that would be a regression.

We do currently provide implementations for these syscalls, that just
happen to always return failure.  I think that the OBSOL annotation
corresponds to a complete lack of implementation.  Perhaps it would be
acceptable at a major release boundary, but this is not my area of
expertise.

> Okay, Linux has similar reserved system calls such as tuxcall. Linux
> deals with these by having an unimplemented.2 manpage which lists
> obsolete or reserved system calls. So we can just add to the manpage
> stuff like: afs3_syscall is a system call reserved for the use of the
> OpenAFS people.

I don't have any particular objection to such a thing existing, but I
wonder whether the developer time to create it could be better used on
other things.  I guess it comes down to what value it is seen as
providing.

-Ben


More information about the freebsd-hackers mailing list