HP3000-L Archives

September 1999, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Fri, 24 Sep 1999 15:16:10 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (41 lines)
Re:

>
> Mark Klein writes:
>
> > Sym                       C H X P Sym    Sym        Sym     Lset
> > Name                              Type  Scope      Value    Name
> > ----                      - - - - ----  -----      -----    ----
> > alloc_code_space          3   3 2 entry univ       00022000
> >
> > In the above listing, note the X and P columns. That indicates the
> > execution privilege level and the call privilege level of the routines.
> > (Execution privilege level is what ring it will run at, call level is what
> > ring the calling routine must run in order to call this routine). So, in
> > the above example, alloc_code_space is callable by user mode (ring 3), but
> > runs at privileged ring 2.
>
> I'm a bit confused by this, but I may know why.
>
> Restating the above, it appears:
>
>         X == execution privilege == "callable by" ring
>
>         P == call privilege      == "runs at" ring
>
> Is this correct?

Yes.  My notes say "X = "XLEAST" (the least privileged you can be and
still be able to call the procedure).  (Note, of course, that 0 is most
privileged, and 3 is least privileged.)

> If so, my confusion stemmed from equating "execution" with "runs at",
> and "call" with "callable by".

Yes.


--
Stan Sieler                                          [log in to unmask]
                                         http://www.allegro.com/sieler/

ATOM RSS1 RSS2