assembly - Current x86 privilege level on a custom OS -


in custom os running on x86 in protected mode, there way obtain current privilege level, other e.g. executing privileged instruction , seeing if crashes?

for instance, register cr0 contains pe bit, indicates if running on real mode or protected mode, , can retrieved using assembly code.

is there equivalent privilege level?

the intel architecture software developer manual mentions eflags register contains 2 iopl bits related i/o privilege levels. same current privilege level (cpl)?

no it's not same. represent io privilege level. instructions such in, out, cli require io privileges determined using iopl , cpl.

see also:

iopl i/o privilege level field (bits 12 , 13) -- indicates i/o privilege level (iopl) of running program or task. cpl of running program or task must less or equal iopl access i/o address space.

the cpl can read cs selector 2 lowest bits:

mov ax, cs , ax, 3 

this of course works in protected mode.


Comments

Popular posts from this blog

javascript - Karma not able to start PhantomJS on Windows - Error: spawn UNKNOWN -

c# - Display ASPX Popup control in RowDeleteing Event (ASPX Gridview) -

Nuget pack csproj using nuspec -