Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Oct 2002 15:57:22 +0300
From:      Anton Shcherbinin <useperl@fastmail.fm>
To:        freebsd-questions@freebsd.org
Subject:   System calls: int $0x80 vs. lcall $7, $0
Message-ID:  <12523076531.20021028155722@fastmail.fm>

next in thread | raw e-mail | index | archive | help
Gentlemen,  I  am new to FreeBSD programming and going to write a simple
program  which  will  not  use  libc.  I tried to find out how to make a
system call of FreeBSD kernel. But 2 different sources of information, a
book  on  assembly  programming  and  FreeBSD  Developers' Handbook, say
contrary things, and I got completely confused.

My  assembly  book says (trying to translate from Russian into English):
``Numbers of system calls (which are in /usr/include/sys/syscall.h file)
and  way  of  getting  to  entry  point (long call to 0007:00000000) are
standardized  in  SysV/386  ABI,  but  for  example  Linux  uses another
convention  --  interrupt 80H. [...] In more traditional Unix systems --
FreeBSD  and Solaris -- system calls are implemented according to common
SysV/386 standard.''

On the other hand,
http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html
says: ``Further, although the kernel is accessed using int 80h [...]''

So  what's the truth? int $0x80  or  lcall $7,$0 ? Or are both possible?
If  both,  which  is  better?  What  is "SysV/386 ABI standard" and does
FreeBSD   follow   it?   If  it follows this standard, where could I get
this  standard  from?  (I  did  try  Google  search,  but  found nothing
resembling a standard or official documents).

Thanks a lot for any clues. If this maillist is not the most appropriate
place to ask questions like this, please direct me to the right place.

-- 
Anton


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?12523076531.20021028155722>