On 13/04/11 15:08, Lars-Peter Clausen wrote:
In my opinion one bit is enough. Kernel mode or user mode. Any other setting
is unlikely to be used.

Fair enough -- as I said, the "pure" ARM only has two privilege levels. It's only really x86 and some MIPS implementations which have 4-level privilege separation.

That is a bad assumption. For example: Interrupt during syscall or debug break
during interrupt and even interrupt nesting can cause an exception while
another is already running.

I was under the impression that you couldn't have nested exceptions -- doesn't a syscall disable interrupts?

Although I may be wrong about this -- in which case, let's have two privilege levels (one bit), and a 4-level stack. This way we're only using one nibble, but we can handle a situation where we have this nesting pattern:
  Syscall ==> Interrupt ==> Debug Break

As I understand it, this is the deepest nesting pattern possible.

--
Phil.
[email protected]
http://www.philpem.me.uk/
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode
Twitter: www.twitter.com/milkymistvj
Ideas? http://milkymist.uservoice.com

Reply via email to