- 30 -
3.5.2
Dispatch Enabled/Disabled States
The system assumes either a dispatch enabled state or a dispatch disabled state. In a dispatch disabled state, no task sched-
uling is performed. Nor can service calls be invoked that may cause the service call issuing task to enter a wait state.
The system can be placed into a dispatch disabled state or a dispatch enabled state by the dis_dsp or ena_dsp service call,
respectively. Whether the system is in a dispatch disabled state can be known by the sns_dsp service call.
3.5.3
CPU Locked/Unlocked States
The system assumes either a CPU locked state or a CPU unlocked state. In a CPU locked state, all external interrupts are
disabled against acceptance, and task scheduling is not performed either.
The system can be placed into a CPU locked state or a CPU unlocked state by the loc_cpu(iloc_cpu) or unl_cpu(iunl_cpu)
service call, respectively. Whether the system is in a CPU locked state can be known by the sns_loc service call.
The service calls that can be issued from a CPU locked state are limited to those that are listed in Table 3-2.
Table 3.2 Invocable Service Calls in a CPU Locked State
loc_cpu iloc_cpu unl_cpu iunl_cpu
ext_tsk exd_tsk sns_tex sns_ctx
sns_loc sns_dsp sns_dpn
3.5.4
Dispatch Disabled and CPU Locked States
In µITRON 4.0 Specification, the dispatch disabled and the CPU locked states are clearly discriminated. Therefore, if the
unl_cpu service call is issued in a dispatch disabled state, the dispatch disabled state remains intact and no task scheduling
is performed. State transitions are summarized in Table 3.3.
Table 3.3 CPU Locked and Dispatch Disabled State Transitions Relating to dis_dsp and loc_cpu
Content of state
State
number
CPU locked
state
Dispatch disabled
state
dis_dsp
executed
ena_dsp
executed
loc_cpu
executed
unl_cpu
executed
1
O
X
X
X
=> 1
=> 3
2
O
O
X
X
=> 2
=> 4
3
X
X
=> 4
=> 3
=> 1
=> 3
4
X
O
=> 4
=> 3
=> 2
=> 4
16
If a service call not issuable is issued when dispatch disabled, MR100 doesn't return the error and doesn't guarantee the operation.
17
MR100 does not return an error even when an uninvocable service call is issued from a CPU locked state, in which case, however, its
operation cannot be guaranteed.