chg_ims
ichg_ims
ER chg_ims (IMASK imask);
ER ichg_ims (IMASK imask);
These service calls change PSW.IPL to the value specified by imask. Ranges of the value that can be specified for imask are from 0 to 15.
In the chg_ims, the system shifts to the dispatching disabled state when other than 0 is specified for imask, (it is equivalent to dis_dsp.) and shifts to the dispatching enabled state when 0 is specified for imask (it is equivalent to ena_dsp.).
The service calls that can be issued while PSW.IPL is larger than the Kernel interrupt mask level (system_IPL) are limited to the one listed below.
Note 2 The dispatching disabled state changed by issuing the chg_ims must be cancelled before the task that issued this service call moves to the DORMANT state.
Note 3 If a service call (such as wai_sem, wai_flg) that may move the status of the invoking task is issued while the dispatching disabled state, that service call returns E_CTX regardless of whether the required condition is immediately satisfied.
Note 4 The RI600V4 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.