Date: Sat, 2 Aug 2003 06:47:18 +0800 From: David Xu <davidxu@FreeBSD.org> To: Munish Chopra <mchopra@engmail.uwaterloo.ca>, current@FreeBSD.org Subject: Re: NVidia glx stuff dies in sysarch(I386_SET_LDT, ...) Message-ID: <200308020647.18039.davidxu@FreeBSD.org> In-Reply-To: <20030801222411.GE667@opiate.soulwax.net> References: <20030801215529.GA745@tybalt> <20030801222027.GA921@tybalt> <20030801222411.GE667@opiate.soulwax.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 02 August 2003 06:24, Munish Chopra wrote: > On 2003-08-02 00:20 +0200, Thorsten Greiner wrote: > > * Daniel Eischen <eischen@vigrid.com> [2003-08-02 00:06]: > > > I think the bug was in the old code allowing this to > > > happen... > > > > Well, than someone should tell that to NVidia. Their driver is > > closed source and comes without "user servicable parts". > > > > Regards > > -Thorsten > > That's going to be a lot easier to get through if someone can confirm > whether 0-16 are reserved, or whether (like julian says), 6-15 are > actually safe and something else is being clobbered. #define LSYS5CALLS_SEL 0 /* forced by intel BCS */ #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 */ #define NLDT (LBSDICALLS_SEL + 1) LUCODE_SEL is used by kernel to load _ucodesel to user %cs LUDATA_SEL is used by kernel to load _udatasel to user %ds, %es, %fs, %gs. I didn't check other ABIs, but setting to a fixed location of LDT in userland is also a bad idea, I think it will conflict with thread library soon, it is better to use dynamic allocating facility newly added in i386_set_ldt. David Xu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308020647.18039.davidxu>