-
loc_cpu
iloc_cpu
-
ER loc_cpu (void);
ER iloc_cpu (void);
These service calls transit the system to the CPU locked state.
In the CPU locked state, the task scheduling is prohibited, and kernel interrupts are masked. Therefore, exclusive processing can be achieved for all processing programs except non-kernel interrupt handlers.
The service calls that can be issued in the CPU locked state are limited to the one listed below.
Service Call that can be issued
|
|
|
Terminate invoking task. (This service call transit the system to the CPU unlocked state.)
|
|
Terminate and delete invoking task. (This service call transit the system to the CPU unlocked state.)
|
|
Reference task exception disabled state
|
|
|
|
|
|
|
|
Reference dispatching state.
|
|
|
|
Reference dispatch pending state.
|
|
|
Note 1 The CPU locked state changed by issuing these service calls must be cancelled before the processing program that issued this service call ends.
Note 2 These service calls do not perform queuing of lock requests. If the system is in the CPU locked state, therefore, no processing is performed but it is not handled as an error.
Note 3 The RI600PX realizes the
TIME MANAGEMENT FUNCTIONS by using base clock timer interrupts that occurs at constant intervals. If acknowledgment of the relevant base clock timer interrupt is disabled by issuing this service call, the
TIME MANAGEMENT FUNCTIONS may no longer operate normally.
Note 5 The loc_cpu returns E_ILUSE error while interrupt mask has changed to other than 0 by
chg_ims.
|
|
|
|
|
|
|
|
- This service call was issued in the status PSW.IPL > kernel interrupt mask level.
Note When the iloc_cpu is issued from task or the loc_cpu is issued from non-task, the context error is not detected and normal operation of the system is not guaranteed.
|
|
|
Illegal use of service call.
- This service call is issued in the status that the invoking task changes the PSW.IPL to other than 0 by using chg_ims.
|