*** sys/i386/include/segments.h.981226 Sat Dec 26 11:35:37 1998 --- sys/i386/include/segments.h Sat Dec 26 11:59:40 1998 *************** *** 229,235 **** #define LSYS5SIGR_SEL 1 #define L43BSDCALLS_SEL 2 /* notyet */ #define LUCODE_SEL 3 ! #define LUDATA_SEL 4 /* separate stack, es,fs,gs sels ? */ /* #define LPOSIXCALLS_SEL 5*/ /* notyet */ #define LBSDICALLS_SEL 16 /* BSDI system call gate */ --- 229,236 ---- #define LSYS5SIGR_SEL 1 #define L43BSDCALLS_SEL 2 /* notyet */ #define LUCODE_SEL 3 ! #define LSOL26CALLS_SEL 4 /* Solaris >= 2.6 system call gate */ ! #define LUDATA_SEL 5 /* separate stack, es,fs,gs sels ? */ /* #define LPOSIXCALLS_SEL 5*/ /* notyet */ #define LBSDICALLS_SEL 16 /* BSDI system call gate */ *** sys/i386/i386/machdep.c.981226 Sat Dec 26 12:02:47 1998 --- sys/i386/i386/machdep.c Sat Dec 26 12:04:49 1998 *************** *** 1079,1084 **** --- 1079,1093 ---- 0, 0, 1, /* default 32 vs 16 bit size */ 1 /* limit granularity (byte/page units)*/ }, + /* Null Descriptor - overwritten by call gate */ + { 0x0, /* segment base address */ + 0x0, /* length - all address space */ + 0, /* segment type */ + 0, /* segment descriptor priority level */ + 0, /* segment descriptor present */ + 0, 0, + 0, /* default 32 vs 16 bit size */ + 0 /* limit granularity (byte/page units)*/ }, /* Data Descriptor for user */ { 0x0, /* segment base address */ 0xfffff, /* length - all address space */ *************** *** 1597,1602 **** --- 1606,1612 ---- /* XXX does this work? */ ldt[LBSDICALLS_SEL] = ldt[LSYS5CALLS_SEL]; + ldt[LSOL26CALLS_SEL] = ldt[LSYS5CALLS_SEL]; /* transfer to user mode */