Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Nov 1998 15:38:28 +0100
From:      Marius Bendiksen <Marius.Bendiksen@scancall.no>
To:        Robert Nordier <rnordier@nordier.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: FreeBSD on i386 memory model
Message-ID:  <3.0.5.32.19981117153828.0092dbe0@mail.scancall.no>
In-Reply-To: <199811171338.PAA10216@ceia.nordier.com>
References:  <3.0.5.32.19981117125202.00916bb0@mail.scancall.no>

next in thread | previous in thread | raw e-mail | index | archive | help
>Yes, flow of control is all though a central point, so the sky's
>probably the limit.  If you want to produce a system which won't run

Indeed. Compare with OS/2, which has 4 or 5 different calling conventions,
plus a couple which only the IBM compilers use.

>standard binaries, for instance (which may be handy for security
>reasons), it would be fairly trivial here.

Let's not get into a debate over the 'security through obscurity'
philosophy here. :)

>I guess it mostly depends on context and personal preference.  The i386

Probably. I prefer call gates, though.

>with interrupt/trap gates anyway, so it can simplify the support code
>considerably, if you deal only with those.

Depends on the basic syscall mechanism, doesn't it?

>In the case of FreeBSD, the lcall actually does result in some register
>juggling in order to produce a trap frame; so maybe this bears out
>the above philosophy.

As I said, I've not looked closer at this code, so I'm not familiar with
how this is done.

>Things are certainly heading in that direction.

And for a fairly good reason :)

>I doubt there's any win in changing the syscall interface at this

*nod*
The syscall interface is probably just fine as it is. I was only stating
that if, for some reason, the work had to be done, I'd consider working on it.

>stage; but moving initialization code is a potential project.  Of
>course there are potentially massive inertia, compatibility and other
>non-technical problems associated with this. :-)

Any volunteers? Objections? Ideas about the scale of such an effort? An
idea of the impact it might have?

>Well, both Linux and NetBSD apparently use the int 0x80 approach; but I
>should think the basic mechanism is most likely a fairly small part of
>the complete picture.  In most emulation, semantics rather than syntax
>tends to be where things get tricky.

Yup. Hmm; using call gates for the BSD calls, and int 0x80 for the
emulation calls might be good for the compatlinux project's health, but,
hey, I'm shooting in the dark here.

---
Marius Bendiksen, IT-Trainee, ScanCall AS <marius@scancall.no>

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?3.0.5.32.19981117153828.0092dbe0>