X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Message-ID: <43b77b23$0$175$cc7c7865@news.luth.se> From: Martin Str|mberg Subject: Re: segmentaion protection Newsgroups: comp.os.msdos.djgpp References: <1135751105 DOT 579023 DOT 161560 AT g49g2000cwa DOT googlegroups DOT com> User-Agent: tin/1.4.6-20020816 ("Aerials") (UNIX) (NetBSD/1.6Q (alpha)) Date: 01 Jan 2006 06:48:03 GMT Lines: 26 NNTP-Posting-Host: speedy.ludd.ltu.se X-Trace: 1136098083 news.luth.se 175 130.240.16.13 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com senthil wrote: > Can anyone explain me regarding the difference between RPL and CPL. It's been a while, so it might not be 100% accurate. RPL is the Privilege Level (PL) of the selector you're calling unless it's a conforming (segment of a code) selector. So if you execute the (far) call/jmp (without any violations) the CPL turns into this RPL. This can only be called/jmped/ireted to lower or equal PL (higher or equal numbers). A (interrupt/call/task) gate can point to another code selector. This is how you (can) raise the PL (lower numbers) as the gate can be PL 3 but pointing to PL 0. If it's a conforming selector it's something else but the main thing to remember is that CPL remains the same. And I've never quite understood when it would be good or advisable to have a conforming segment. The best so far I've come up with is having the kernel and userland sharing the same far routines (like a far_strcmp()). Perhaps it might be useful for microkernels? Right, MartinS