Theory Step
subsection ‹Separation kernel state and atomic step function›
theory Step
imports Step_policies
begin
subsubsection ‹Interrupt points›
text ‹To model concurrency, each system call is split into several atomic steps,
while allowing interrupts between the steps. The state of a thread is
represented by an ``interrupt point" (which corresponds to the value of the program counter
saved by the system when a thread is interrupted).›
datatype ipc_direction_t = SEND | RECV
datatype ipc_stage_t = PREP | WAIT | BUF page_t
datatype ev_consume_t = EV_CONSUME_ALL | EV_CONSUME_ONE