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? If so, my confusion stemmed from equating "execution" with "runs at", and "call" with "callable by". If not, then the description for alloc_code_space is twisted. ;) --Glenn