Example #1
0
ER
ext_ker(void)
{
	SIL_PRE_LOC;

	LOG_EXT_KER_ENTER();

	/*
	 *  割込みロック状態に移行
	 */
	SIL_LOC_INT();

	/*
	 *  カーネル動作の終了
	 */
	LOG_KER_LEAVE();
	kerflg = false;

	/*
	 *  カーネルの終了処理の呼出し
	 *
	 *  非タスクコンテキストに切り換えて,exit_kernelを呼び出す.
	 */
	call_exit_kernel();

	/*
	 *  コンパイラの警告対策(ここへ来ることはないはず)
	 */
	SIL_UNL_INT();
	LOG_EXT_KER_LEAVE(E_SYS);
	return(E_SYS);
}
/*
 *  カーネルの終了
 */
ER
ext_ker(void)
{
	SIL_PRE_LOC;
	
	LOG_EXT_KER_ENTER();
	
	/*
	 *  割込みロック状態に移行
	 */
	SIL_LOC_INT();
	
	/*
	 *  カーネル動作の終了
	 */
	LOG_KER_LEAVE();
	kerflg = false;
	
	/*
	 *  カーネルの終了処理の呼出し
	 *
	 *  非タスクコンテキストに切り換えて,exit_kernelを呼び出す.
	 */
	call_exit_kernel();
	
	/*
	 *  SIL_UNL_INTを呼び出すが,ここに到達することはない.
	 *  記述するのはSIL_PRE_LOCで宣言される変数がある場合に,
	 *  コンパイラが出力する警告を抑制するためである.
	 */
	SIL_UNL_INT();
	LOG_EXT_KER_LEAVE(E_SYS)
	
	return E_SYS;
}