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
