Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Nov 1998 10:39:25 +0200
From:      Ruslan Ermilov <ru@ucb.crimea.ua>
To:        Mike Smith <mike@smith.net.au>
Cc:        Robert Nordier <rnordier@nordier.com>, FreeBSD Hackers <hackers@FreeBSD.ORG>
Subject:   Re: FreeBSD on i386 memory model
Message-ID:  <19981117103925.A16673@ucb.crimea.ua>
In-Reply-To: <199811141904.LAA06709@dingo.cdrom.com>; from Mike Smith on Sat, Nov 14, 1998 at 11:04:28AM -0800
References:  <19981114191556.A17660@ucb.crimea.ua> <199811141904.LAA06709@dingo.cdrom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 14, 1998 at 11:04:28AM -0800, Mike Smith wrote:
[...]
>
> > It seems that as(1) doesn't understand ``lcall $SECTION, $OFFSET''.
> > At least on my 2.2.1, 2.2.5 and 2.2.7+ machines:
> 
> No, it doesn't.  You can either upgrade to a newer assembler, or 
> do it the "old" way:
> 
> #define LCALL(x,y)      .byte 0x9a ; .long y; .word x
> 
> Note that on 3.0 systems we use  int 0x80 for kernel entry, as it's 
> faster.
> 

Could you please explain why it is _faster_ than ``lcall' and what is
the difference between them?

The only difference that I know of at the moment is that ``int 0x80''
will push EFlags, CS:EIP into stack, while ``lcall'' will only push
CS:EIP pair.

Where is the code that sets up protected mode and defines the layout
of the kernel?

Where is defined that syscall multiplexor is running on $7:$0?

Thanks in advance,
-- 
Ruslan Ermilov		Sysadmin and DBA of the
ru@ucb.crimea.ua	United Commercial Bank
+380.652.247.647	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

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



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