delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/11/20/07:30:47

NNTP-Posting-Date: Wed, 20 Nov 2002 05:34:57 -0600
Message-ID: <3DDB80D1.2020009@mailandnews.com>
Date: Wed, 20 Nov 2002 05:32:17 -0700
From: Daniel Jeffery <d DOT jeffery AT mailandnews DOT com>
User-Agent: Mozilla/5.0 (Windows; U; Win95; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3
X-Accept-Language: en-us
MIME-Version: 1.0
Newsgroups: comp.os.msdos.djgpp
Subject: cpl in a conforming code segment
Lines: 31
NNTP-Posting-Host: 66.219.221.185
X-Trace: sv3-Qtd7H/wUKliArlU76Q0oIT1tUgXjVLCOLRrjnea/ysyGjoTSAUExT2EvHLlg4xRimQNpUSlUQQhPXzS!gzQibzujCatajS4fPTGVQA06PRfp+mQ3QFQepcSKnYc1rGPZtVElb4b1TyyIbcHkMxP8rxpz7DWt!5g==
X-Complaints-To: abuse AT aros DOT net
X-DMCA-Complaints-To: abuse AT aros DOT net
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.1
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

a direct quote from the i386sx programmers' reference manual:

rpl = the privilege level of the original supplier of the selector.
rpl is determined by the least two significant bits of a selector.
(note: rpl must be <= dpl to access a segment.)

dpl = the least privileged level at which a task may access that
descriptor (and the segment associated with that descriptor.)
dpl is determined by bits 6:5 in the access right byte of a descriptor.

cpl = the privilege level at which a task is currently executing,
which equals the privilege level of the code segment being executed.
cpl can also be determined by examining the lowest 2 bits of the cs
register, except for conforming code segments.

then when describing the behavior of a conforming code segment, it
says "code segment may only be executed when cpl >= dpl and cpl
remains unchanged." (linux (head.S) code segments aren't conforming)
(I don't know about cwsdpmi, any takers?)

at issue here is, what kind of "privilege level of the code segment
being executed?"  if we mean epl (the numerical maximum of rpl and dpl)
and cpl > dpl (in a conforming code segment), assuming rpl != cpl
(maybe rpl = dpl), then cpl > epl.  If rpl != cpl and cpl > dpl, was
there another kind of privilege level we could call cpl?  is the x86
keeping track of another number somewhere which makes rpl irrelevant
in a conforming code segment?

ciao,
		- Daniel J.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019