ER get_ipm(PRI *p_intpri) { ER ercd; LOG_GET_IPM_ENTER(p_intpri); CHECK_TSKCTX_UNL(); t_lock_cpu(); *p_intpri = t_get_ipm(); ercd = E_OK; t_unlock_cpu(); error_exit: LOG_GET_IPM_LEAVE(ercd, *p_intpri); return(ercd); }
/* * 割込みマスクの参照 */ SYSCALL ER get_ipm(IPM *p_ipm) { ER ercd; LOG_GET_IPM_ENTER(p_ipm); /* ICU依存 */ CHECK_TSKCTX_UNL(); t_lock_cpu(); GET_IPM(p_ipm); /* ICU依存 */ ercd = E_OK; t_unlock_cpu(); exit: LOG_GET_IPM_LEAVE(ercd, *p_ipm); /* ICU依存 */ return(ercd); }
ER get_ipm(PRI *p_intpri) { ER ercd; LOG_GET_IPM_ENTER(p_intpri); CHECK_TSKCTX_UNL(); CHECK_MACV_WRITE(p_intpri, PRI); CHECK_ACPTN(sysstat_acvct.acptn4); t_lock_cpu(); *p_intpri = t_get_ipm(); ercd = E_OK; t_unlock_cpu(); error_exit: LOG_GET_IPM_LEAVE(ercd, *p_intpri); return(ercd); }
ER get_ipm(PRI *p_intpri) { bool_t locked; ER ercd; LOG_GET_IPM_ENTER(p_intpri); CHECK_TSKCTX(); locked = t_sense_lock(); if (!locked) { t_lock_cpu(); } *p_intpri = t_get_ipm(); ercd = E_OK; if (!locked) { t_unlock_cpu(); } error_exit: LOG_GET_IPM_LEAVE(ercd, *p_intpri); return(ercd); }