Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Dec 1998 14:22:19 +1030 (CST)
From:      Mark Newton <newton@atdot.dotat.org>
To:        cvs-all@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG
Subject:   LDT entries - Proposed change
Message-ID:  <199812260352.OAA01444@atdot.dotat.org>

next in thread | raw e-mail | index | archive | help

I'd like to make some low-level changes over the next couple of days
to support the svr4 emulator which I'll be committing after new-year.

Synopsis of problem:  Sun bug ID 1251858 describes how Sun changed the
system call semantics of Solaris between 2.5.1 and 2.6.  System calls are
still done by means of an intersegment jump into one of the system's LDT
entries; FreeBSD has historically supported system call execution through
LDT entries 0 and 16 (for iBCS2 COFF and BSDI emulation respectively), but
Solaris 2.6 uses LDT entry 4.

Unfortunately, FreeBSD has historically used LDT entry 4 for user process
data.

I have a patch for sys/i386/include/segments.h and sys/i386/i386/machdep.c
which changes LUDATA_SEL from 4 to 5 (why 5?  Why not?) and provides for
system call entries via LDT entry 4 (termed LSOL26CALLS_SEL at present).
I'm running this kernel at the moment with no ill effects, and I'd like
to commit the change at some point over the next couple of days.

Does anyone know of any applications using USER_LDT which might be in
love with entry 5 already?  Does anyone know of any BadThings(tm) which
will occur if LUDATA_SEL is moved to entry 5?

If I don't get back any bad feedback I'll commit the change shortly before
new-year.  In the meantime, a patch against 3.0-RELEASE which makes the
change is at http://www.freebsd.org/~newton/freebsd-svr4/segpatch if
anyone wants to see it.

Cheers,

    - mark

--------------------------------------------------------------------
I tried an internal modem,                    newton@atdot.dotat.org
     but it hurt when I walked.                          Mark Newton
----- Voice: +61-4-1958-3414 ------------- Fax: +61-8-83034403 -----

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



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