From: eplmst AT lu DOT erisoft DOT se (Martin Stromberg) Newsgroups: comp.os.msdos.djgpp Subject: Re: far call Date: 22 Oct 1999 07:59:59 GMT Organization: Ericsson Erisoft AB, Sweden Message-ID: <7up5hv$p47$1@antares.lu.erisoft.se> References: NNTP-Posting-Host: propus-144.lu.erisoft.se X-Newsreader: TIN [version 1.2 PL2] Lines: 26 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Eli Zaretskii (eliz AT is DOT elta DOT co DOT il) wrote: : On 21 Oct 1999, Martin Stromberg wrote: : > How do you request (and perhaps get) a selector for a different : > ring-level than your own (which in DJGPP is three)? : See __dpmi_set_descriptor and __dpmi_set_descriptor_access_rights : (there are also corresponding *get* functions). : Whether this will work is another question. : In general, if you want to call code that's higher privilege that your : CPL, you need to set up a ``call gate'' and use it to make the privileged : call. But some environments will let you do that in a naive way. I must be missing something. Suppose I allocate a descriptor and it's value is 0x103, which means it's a ring-3 descriptor. I then call one of those two calls above and try to set its ring to 2. If that call succeed, the descriptor value has changed to 0x102?!!! Or what? Seems very strange to me. U2, Boy, MartinS