part 2 of the bsdi compat tweak attempt. I believe that BSDI use both

lcall 7,0 (ie: ldt slot 0) and lcall 0x87,0 (ldt slot 16, it's shifted
three bits to the left).  I was fiddling with this so long ago, I don't
recall the specifics.
This commit is contained in:
Peter Wemm 1996-09-27 13:38:02 +00:00
parent 90af01bef3
commit 32d8f04c11
2 changed files with 8 additions and 2 deletions

View File

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
* $Id: machdep.c,v 1.203 1996/09/10 23:06:58 bde Exp $
* $Id: machdep.c,v 1.204 1996/09/11 19:53:43 phk Exp $
*/
#include "npx.h"
@ -1334,6 +1334,9 @@ init386(first)
gdp->gd_p = 1;
gdp->gd_hioffset = ((int) &IDTVEC(syscall)) >>16;
/* XXX does this work? */
ldt[LBSDICALLS_SEL] = ldt[LSYS5CALLS_SEL];
/* transfer to user mode */
_ucodesel = LSEL(LUCODE_SEL, SEL_UPL);

View File

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
* $Id: machdep.c,v 1.203 1996/09/10 23:06:58 bde Exp $
* $Id: machdep.c,v 1.204 1996/09/11 19:53:43 phk Exp $
*/
#include "npx.h"
@ -1334,6 +1334,9 @@ init386(first)
gdp->gd_p = 1;
gdp->gd_hioffset = ((int) &IDTVEC(syscall)) >>16;
/* XXX does this work? */
ldt[LBSDICALLS_SEL] = ldt[LSYS5CALLS_SEL];
/* transfer to user mode */
_ucodesel = LSEL(LUCODE_SEL, SEL_UPL);