From owner-freebsd-questions Mon Oct 28 9:14:37 2002 Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0735D37B401 for ; Mon, 28 Oct 2002 09:14:36 -0800 (PST) Received: from core.zp.ua (core.zp.ua [193.108.112.7]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC81043E75 for ; Mon, 28 Oct 2002 09:14:33 -0800 (PST) (envelope-from oleg@core.zp.ua) Received: from core.zp.ua (oleg@localhost [127.0.0.1]) by core.zp.ua with ESMTPœ id g9SHE9xj055200; Mon, 28 Oct 2002 19:14:09 +0200 (EET) (envelope-from oleg@core.zp.ua)œ Received: (from oleg@localhost) by core.zp.ua id g9SHE0KY055199; Mon, 28 Oct 2002 19:14:00 +0200 (EET) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <12523076531.20021028155722@fastmail.fm> Date: Mon, 28 Oct 2002 19:14:00 +0200 (EET) Organization: ReIS Ltd. From: oleg@reis.zp.ua To: Anton Shcherbinin Subject: RE: [freebsd] System calls: int $0x80 vs. lcall $7, $0 Cc: freebsd-questions@freebsd.org Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 28-Oct-2002 Anton Shcherbinin wrote: > 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? Both > If both, which is better? What is "SysV/386 ABI standard" and does First method, "lcall $7,$0" for backward compatibility with old FreeBSD versions only. > 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. Hm, freebsd-hackers@freebsd.org? > > -- > Anton > > =================================================================== > freebsd mailing list. > To Unsubscribe: send mail to majordomo@freebsddiary.org.ua > with "unsubscribe freebsd" in the body of the message With best wishes Oleg V. Nauman NO37-RIPE To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message