From a2f764a3c3da1a8d74b170fcb30172c6dfdc4ce6 Mon Sep 17 00:00:00 2001 From: ryuz Date: Wed, 20 Dec 2006 15:50:31 +0000 Subject: [PATCH] (none) --- cfgrtr/source/knlheap.cpp | 4 +- kernel/build/win/win32/vc60/hosv4a.dsp | 4 + kernel/include/core/hep.h | 16 ++-- kernel/include/core/sys.h | 25 ++++-- kernel/include/core/tim.h | 156 +++++++++++++++++++++++++++++++++ kernel/include/core/tmq.h | 1 + kernel/include/parser/parsknl.h | 7 ++ kernel/source/object/cyc/kcre_cyc.c | 10 +-- kernel/source/object/dtq/kcre_dtq.c | 10 +-- kernel/source/object/flg/kcre_flg.c | 2 +- kernel/source/object/isr/kcre_isr.c | 10 +-- kernel/source/object/mbx/kcre_mbx.c | 22 ++--- kernel/source/object/mpf/kcre_mpf.c | 18 ++-- kernel/source/object/sem/kcre_sem.c | 10 +-- kernel/source/object/tsk/kcre_tsk.c | 18 ++-- 15 files changed, 250 insertions(+), 63 deletions(-) create mode 100755 kernel/include/core/tim.h diff --git a/cfgrtr/source/knlheap.cpp b/cfgrtr/source/knlheap.cpp index a3b9ac9..d9994e0 100755 --- a/cfgrtr/source/knlheap.cpp +++ b/cfgrtr/source/knlheap.cpp @@ -104,12 +104,12 @@ void CApiKernelHeap::WriteCfgIni(FILE* fp) if ( strcmp(m_pParamPacks[0]->GetParam(KNLHEP_HEP), "NULL") == 0 ) { - fputs("\t_KERNEL_SYS_INI_MEM(sizeof(_kernel_hep_memblk), _kernel_hep_memblk);\n", fp); + fputs("\t_KERNEL_SYS_INI_HEP(sizeof(_kernel_hep_memblk), _kernel_hep_memblk);\n", fp); } else { fprintf(fp, - "\t_KERNEL_SYS_INI_MEM((SIZE)(%s), (VP)(%s));\n", + "\t_KERNEL_SYS_INI_HEP((SIZE)(%s), (VP)(%s));\n", m_pParamPacks[0]->GetParam(KNLHEP_HEPSZ), m_pParamPacks[0]->GetParam(KNLHEP_HEP)); } diff --git a/kernel/build/win/win32/vc60/hosv4a.dsp b/kernel/build/win/win32/vc60/hosv4a.dsp index 0b34bf1..a02d293 100755 --- a/kernel/build/win/win32/vc60/hosv4a.dsp +++ b/kernel/build/win/win32/vc60/hosv4a.dsp @@ -188,6 +188,10 @@ SOURCE=..\..\..\..\include\core\sys.h # End Source File # Begin Source File +SOURCE=..\..\..\..\include\core\tim.h +# End Source File +# Begin Source File + SOURCE=..\..\..\..\include\core\tmq.h # End Source File # Begin Source File diff --git a/kernel/include/core/hep.h b/kernel/include/core/hep.h index bd9f1dd..519a704 100755 --- a/kernel/include/core/hep.h +++ b/kernel/include/core/hep.h @@ -51,17 +51,23 @@ typedef struct _kernel_t_hepcb extern "C" { #endif -void _kernel_cre_hep(_KERNEL_T_HEPCB *pk_hepcb, SIZE hepsz, VP hep); /**< %jp{メモリヒープを生成} */ -#define _kernel_del_hep(pk_hepcb) do {} while(0) /**< %jp{メモリヒープを削除} */ -VP _kernel_alc_hep(_KERNEL_T_HEPCB *pk_hepcb, SIZE size); /**< %jp{メモリの割り当て} */ -void _kernel_fre_hep(_KERNEL_T_HEPCB *pk_hepcb, VP ptr); /**< %jp{メモリの解放} */ -#define _kernel_alg_hep(size) _KERNEL_HEP_ALIGNED(size) /**< %jp{メモリサイズのアライメントを合わせる} */ +void _kernel_cre_hep(_KERNEL_T_HEPCB *hepcb, SIZE hepsz, VP hep); /**< %jp{メモリヒープを生成} */ +VP _kernel_alc_hep(_KERNEL_T_HEPCB *hepcb, SIZE size); /**< %jp{メモリの割り当て} */ +void _kernel_fre_hep(_KERNEL_T_HEPCB *hepcb, VP ptr); /**< %jp{メモリの解放} */ #ifdef __cplusplus } #endif +#define _KERNEL_CRE_HEP(hepcb, hepsz, hep) _kernel_cre_hep((hepcb), (hepsz), (hep)) /**< %jp{メモリヒープを生成} */ +#define _KERNEL_DEL_HEP(hepcb) do {} while(0) /**< %jp{メモリヒープを削除} */ +#define _KERNEL_ALC_HEP(hepcb, size) _kernel_alc_hep((hepcb), (size)) /**< %jp{メモリの割り当て} */ +#define _KERNEL_FRE_HEP(hepcb, ptr) _kernel_fre_hep((hepcb), (ptr)) /**< %jp{メモリの解放} */ +#define _KERNEL_ALG_HEP(hepcb, size) _KERNEL_HEP_ALIGNED(size) /**< %jp{メモリサイズのアライメントを合わせる} */ + + + #endif /* _KERNEL__core__hep_h_ */ diff --git a/kernel/include/core/sys.h b/kernel/include/core/sys.h index ddc1dfc..63cc6d1 100755 --- a/kernel/include/core/sys.h +++ b/kernel/include/core/sys.h @@ -33,6 +33,7 @@ typedef struct _kernel_t_proccb { STAT stat; /**< %jp{システムのコンテキスト状態}%en{system state} */ UB dlydsp; /**< %jp{ディスパッチのディレイ管理} */ + #if _KERNEL_SPT_DPC UB svcent; /**< %jp{サービスコール実行中管理} */ #endif @@ -50,9 +51,18 @@ typedef struct _kernel_t_proccb typedef struct _kernel_t_syscb { _KERNEL_T_RDQCB rdqcb; /**< %jp{レディーキュー}%en{ready-queue} */ + +#if _KERNEL_SPT_TOQ _KERNEL_T_TOQCB toqcb; /**< %jp{タイムアウトキュー}%en{timeout-queue} */ +#endif + +#if _KERNEL_SPT_TMQ _KERNEL_T_TMQCB tmqcb; /**< %jp{タイマキュー}%en{timer-queue} */ - _KERNEL_T_HEPCB memhep; /**< %jp{カーネルメモリヒープ}%en{kernel heap-memory control block} */ +#endif + +#if _KERNEL_SPT_HEP + _KERNEL_T_HEPCB hepcb; /**< %jp{カーネルメモリヒープ}%en{kernel heap-memory control block} */ +#endif #if _KERNEL_SPT_DPC _KERNEL_T_DPCCB dpccb; /**< %jp{遅延プロシージャコール用メッセージキュー} */ @@ -66,6 +76,7 @@ typedef struct _kernel_t_syscb extern _KERNEL_T_SYSCB _kernel_syscb; +/* system */ #define _KERNEL_SYS_INI_SYS() do {} while (0) /**< %jp{システムの初期化} */ #define _KERNEL_SYS_GET_PRC() (0) /**< %jp{プロセッサ番号取得} */ #define _KERNEL_SYS_GET_PRCCB() (&_kernel_syscb.proccb[_KERNEL_SYS_GET_PRC()]) /**< %jp{プロセッサ制御ブロックの取得} */ @@ -90,14 +101,16 @@ extern _KERNEL_T_SYSCB _kernel_syscb; #define _KERNEL_SYS_GET_TMQ() (&_kernel_syscb.tmqcb) /**< %jp{タイマキューの取得} */ #define _KERNEL_SYS_ADD_TMQ(pk_timobj) _KERNEL_ADD_TMQ(_KERNEL_SYS_GET_TMQ(), (pk_timobj)) #define _KERNEL_SYS_RMV_TMQ(pk_timobj) _KERNEL_RMV_TMQ(_KERNEL_SYS_GET_TMQ(), (pk_timobj)) -#define _KERNEL_SYS_BSY_TMQ(pk_timobj) _KERNEL_BSY_TMQ(_KERNEL_SYS_GET_TMQ(), (tictim)) +#define _KERNEL_SYS_BSY_TMQ(pk_timobj) _KERNEL_BSY_TMQ(_KERNEL_SYS_GET_TMQ(), (pk_timobj)) #define _KERNEL_SYS_SIG_TMQ(tictim) _KERNEL_SIG_TMQ(_KERNEL_SYS_GET_TMQ(), (tictim)) +/* kernel memory heap */ +#define _KERNEL_SYS_GET_HEP() (&_kernel_syscb.hepcb) /**< %jp{タイマキューの取得} */ +#define _KERNEL_SYS_INI_HEP(hepsz, hep) _KERNEL_CRE_HEP(_KERNEL_SYS_GET_HEP(), (hepsz), (hep)) /**< %jp{カーネルメモリヒープの初期化} */ +#define _KERNEL_SYS_ALC_HEP(size) _KERNEL_ALC_HEP(_KERNEL_SYS_GET_HEP(), (size)) /**< %jp{カーネルメモリの割当て} */ +#define _KERNEL_SYS_FRE_HEP(ptr) _KERNEL_FRE_HEP(_KERNEL_SYS_GET_HEP(), (ptr)) /**< %jp{カーネルメモリの開放} */ +#define _KERNEL_SYS_ALG_HEP(size) _KERNEL_ALG_HEP(_KERNEL_SYS_GET_HEP(), (size)) /**< %jp{カーネルメモリのサイズアライメント} */ -#define _KERNEL_SYS_INI_MEM(hepsz, hep) _kernel_cre_hep(&_kernel_syscb.memhep, (hepsz), (hep)) /**< %jp{カーネルメモリヒープの初期化} */ -#define _KERNEL_SYS_ALC_MEM(size) _kernel_alc_hep(&_kernel_syscb.memhep, (size)) /**< %jp{カーネルメモリの割当て} */ -#define _KERNEL_SYS_FRE_MEM(ptr) _kernel_fre_hep(&_kernel_syscb.memhep, (ptr)) /**< %jp{カーネルメモリの開放} */ -#define _KERNEL_SYS_ALG_MEM(size) _kernel_alg_hep(size) /**< %jp{カーネルメモリのサイズアライメント} */ #define _KERNEL_SYS_INI_SYSSTK(stksz, stk) do { _KERNEL_SYS_GET_PRCCB()->sysstksz = (stksz); _KERNEL_SYS_GET_PRCCB()->sysstk = (stk); } while(0) /**< %jp{システムスタックの初期化} */ diff --git a/kernel/include/core/tim.h b/kernel/include/core/tim.h new file mode 100755 index 0000000..c5759cb --- /dev/null +++ b/kernel/include/core/tim.h @@ -0,0 +1,156 @@ +/** + * Hyper Operating System V4 Advance + * + * @file tim.h + * @brief %jp{時間管理のヘッダファイル}%en{Time management heder file} + * + * Copyright (C) 1998-2006 by Project HOS + * http://sourceforge.jp/projects/hos/ + */ + + +#ifndef _KERNEL__core__tim_h__ +#define _KERNEL__core__tim_h__ + + +/* ------------------------------------------ */ +/* Primitive type definition */ +/* ------------------------------------------ */ + +/* %jp{タイムティックの除算結果} (TIC_NUME / TIC_DENO) */ +typedef RELTIM _KERNEL_TIMCB_T_TICDIV; +#define _KERNEL_TIMCB_TBITDEF_TICDIV + +/* %jp{タイムティックの除算の余り結果} (TIC_NUME % TIC_DENO) */ +typedef RELTIM _KERNEL_TIMCB_T_TICMOD; +#define _KERNEL_TIMCB_TBITDEF_TICMOD + +/* %jp{タイムティックの分母} (TIC_DENO) */ +typedef RELTIM _KERNEL_TIMCB_T_TICDENO; +#define _KERNEL_TIMCB_TBITDEF_TICDENO + +/* %jp{分数繰上げ用のカウンタ} */ +typedef UB _KERNEL_TIMCB_T_TICCNT; +#define _KERNEL_TIMCB_TBITDEF_TICCNT + + + +/* ------------------------------------------ */ +/* Control block */ +/* ------------------------------------------ */ + +/** %jp{時間管理コントロールブロック(リードオンリー部)}%en{Time-Manegement Control Block(read-only)} */ +typedef struct _kernel_t_timcb_ro +{ +#if _KERNEL_TIMCB_TICDIV + _KERNEL_TIMCB_T_TICDIV ticdiv _KERNEL_TIMCB_TBITDEF_TICDIV; /**< %jp{タイムティックの除算結果} (TIC_NUME / TIC_DENO) */ +#endif + +#if _KERNEL_TIMCB_TICMOD + _KERNEL_TIMCB_T_TICMOD ticmod _KERNEL_TIMCB_TBITDEF_TICMOD; /**< %jp{タイムティックの除算の余り結果} (TIC_NUME % TIC_DENO) */ +#endif + +#if _KERNEL_TIMCB_TICDENO + _KERNEL_TIMCB_T_TICDENO ticdeno _KERNEL_TIMCB_TBITDEF_TICDENO; /**< %jp{タイムティックの分母} (TIC_DENO) */ +#endif +} _KERNEL_T_TIMCB_RO; + +typedef _KERNEL_T_TIMCB_RO* _KERNEL_T_TIMCB_RO_PTR; + + +/** %jp{時間管理コントロールブロック}%en{Time-Manegement Control Block} */ +typedef struct _kernel_t_timcb +{ +#if _KERNEL_TIMCB_SYSTIM + SYSTIM systim; /**< %jp{現在のシステム時刻} */ +#endif + +#if _KERNEL_TIMCB_TICCNT + _KERNEL_TIMCB_T_TICCNT ticcnt _KERNEL_TIMCB_TBITDEF_TICCNT; /**< %jp{分数繰上げ用のカウンタ} */ +#endif + +#if _KERNEL_TIMCB_TICCNT + _KERNEL_TIMCB_T_TICCNT ticnxt _KERNEL_TIMCB_TBITDEF_TICCNT; /**< %jp{次のティックカウンタ} */ +#endif +} _KERNEL_T_TIMCB; + +typedef _KERNEL_T_TIMCB* _KERNEL_T_TIMCB_PTR; + + +/* ------------------------------------------ */ +/* Accessor for TIMCB */ +/* ------------------------------------------ */ + +/* ticvid */ +#if _KERNEL_TIMCB_TICDIV +#define _KERNEL_TIM_GET_TICDIV(timcb_ro) ((timcb_ro)->ticdiv) +#else +#define _KERNEL_TIM_GET_TICDIV(timcb_ro) (1) +#endif + +/* ticmod */ +#if _KERNEL_TIMCB_TICMOD +#define _KERNEL_TIM_GET_TICMOD(timcb_ro) ((timcb_ro)->ticmod) +#else +#define _KERNEL_TIM_GET_TICMOD(timcb_ro) (0) +#endif + +/* ticdeno */ +#if _KERNEL_TIMCB_TICDENO +#define _KERNEL_TIM_GET_TICDENO(timcb_ro) ((timcb_ro)->ticmod) +#else +#define _KERNEL_TIM_GET_TICDENO(timcb_ro) (1) +#endif + +/* systim */ +#if _KERNEL_TIMCB_SYSTIM +#define _KERNEL_TIM_GET_SYSTIM(timcb) (&(timcb)->systim) +#define _KERNEL_TIM_SET_SYSTIM(timcb, p_tim) do { (timcb)->systim = *(p_tim); } while(0) +#define _KERNEL_TIM_ADD_SYSTIM(timcb, tic) _KERNEL_SYSTIM_ADD(&(timcb)->systim, (tic)) +#else +#define _KERNEL_TIM_GET_SYSTIM(timcb) (NULL) +#define _KERNEL_TIM_SET_SYSTIM(timcb, p_tim) do {} while(0) +#define _KERNEL_TIM_ADD_SYSTIM(timcb, tic) do {} while(0) +#endif + +/* ticcnt */ +#if _KERNEL_TIMCB_TICCNT +#define _KERNEL_TIM_GET_TICCNT(timcb) ((timcb)->ticcnt) +#define _KERNEL_TIM_SET_TICCNT(timcb, cnt) do { (timcb)->ticcnt = (cnt); } while (0) +#else +#define _KERNEL_TIM_GET_TICCNT() (1) +#define _KERNEL_TIM_SET_TICCNT(cnt) do {} while (0) +#endif + +/* ticnxt */ +#if _KERNEL_TIMCB_TICNXT +#define _KERNEL_TIM_GET_TICNXT(timcb) ((timcb)->ticcnt) +#define _KERNEL_TIM_SET_TICNXT(timcb, cnt) do { (timcb)->ticcnt = (cnt); } while (0) +#else +#define _KERNEL_TIM_GET_TICNXT(timcb) (1) +#define _KERNEL_TIM_SET_TICNXT(timcb, cnt) do {} while (0) +#endif + + + +#ifdef __cplusplus +extern "C" { +#endif + +RELTIM _kernel_sig_tim(_KERNEL_T_TIMCB_PTR timcb, _KERNEL_T_TIMCB_RO timcb_ro); + +#ifdef __cplusplus +} +#endif + +#define _KERNEL_INI_TIM(timcb, timcb_ro) _kernel_sig_tim((timcb), (timcb_ro)) +#define _KERNEL_SIG_TIM(timcb, timcb_ro) _kernel_sig_tim((timcb), (timcb_ro)) +#define _KERNEL_GET_TIC(timcb, timcb_ro) _KERNEL_TIM_GET_TICNXT(timcb) +#define _KERNEL_SET_TIM(timcb, p_tim) _KERNEL_TIM_SET_SYSTIM((timcb), (p_tim)) +#define _KERNEL_GET_TIM(timcb) _KERNEL_TIM_GET_SYSTIM(timcb) + + +#endif /* _KERNEL__core__tim_h__ */ + + +/* end of file */ diff --git a/kernel/include/core/tmq.h b/kernel/include/core/tmq.h index 56a7ca8..8fbef3c 100755 --- a/kernel/include/core/tmq.h +++ b/kernel/include/core/tmq.h @@ -34,6 +34,7 @@ typedef struct _kernel_t_tmqcb } _KERNEL_T_TMQCB; + #ifdef __cplusplus extern "C" { #endif diff --git a/kernel/include/parser/parsknl.h b/kernel/include/parser/parsknl.h index 763bc30..9091014 100755 --- a/kernel/include/parser/parsknl.h +++ b/kernel/include/parser/parsknl.h @@ -454,6 +454,13 @@ #define _KERNEL_SPT_TMQ TRUE +/* ------------------------------------------------------------------ */ +/* Kernel memory heap */ +/* ------------------------------------------------------------------ */ + +#define _KERNEL_SPT_HEP _KERNEL_SPT_CREOBJ + + /* ------------------------------------------------------------------ */ /* ID */ diff --git a/kernel/source/object/cyc/kcre_cyc.c b/kernel/source/object/cyc/kcre_cyc.c index cf15ee7..694126b 100755 --- a/kernel/source/object/cyc/kcre_cyc.c +++ b/kernel/source/object/cyc/kcre_cyc.c @@ -49,11 +49,11 @@ ER _kernel_cre_cyc(ID cycid, const T_CCYC *pk_ccyc) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_CYCCB)) - + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_CYCCB_RO)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_CYCCB)) + + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_CYCCB_RO)); /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_CYC_E_NOMEM @@ -65,7 +65,7 @@ ER _kernel_cre_cyc(ID cycid, const T_CCYC *pk_ccyc) /* %jp{メモリ割り当て} */ cyccb = (_KERNEL_T_CYCCB *)mem; - cyccb_ro = (_KERNEL_T_CYCCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_CYCCB))); + cyccb_ro = (_KERNEL_T_CYCCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_CYCCB))); _KERNEL_CYC_ID2CYCCB(cycid) = cyccb; _KERNEL_CYC_ID2CYCCB(cycid)->cyccb_ro = (const _KERNEL_T_CYCCB_RO *)cyccb_ro; } @@ -74,7 +74,7 @@ ER _kernel_cre_cyc(ID cycid, const T_CCYC *pk_ccyc) VP mem; /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(sizeof(_KERNEL_T_CYCCB)); + mem = _KERNEL_SYS_ALC_HEP(sizeof(_KERNEL_T_CYCCB)); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_CYC_E_NOMEM diff --git a/kernel/source/object/dtq/kcre_dtq.c b/kernel/source/object/dtq/kcre_dtq.c index 5268141..836e573 100755 --- a/kernel/source/object/dtq/kcre_dtq.c +++ b/kernel/source/object/dtq/kcre_dtq.c @@ -49,11 +49,11 @@ ER _kernel_cre_dtq(ID dtqid, const T_CDTQ *pk_cdtq) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_DTQCB)) - + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_DTQCB_RO)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_DTQCB)) + + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_DTQCB_RO)); /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_DTQ_E_NOMEM @@ -65,7 +65,7 @@ ER _kernel_cre_dtq(ID dtqid, const T_CDTQ *pk_cdtq) /* %jp{メモリ割り当て} */ dtqcb = (_KERNEL_T_DTQCB *)mem; - dtqcb_ro = (_KERNEL_T_DTQCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_DTQCB))); + dtqcb_ro = (_KERNEL_T_DTQCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_DTQCB))); _KERNEL_DTQ_ID2DTQCB(dtqid) = dtqcb; _KERNEL_DTQ_ID2DTQCB(dtqid)->dtqcb_ro = (const _KERNEL_T_DTQCB_RO *)dtqcb_ro; } @@ -74,7 +74,7 @@ ER _kernel_cre_dtq(ID dtqid, const T_CDTQ *pk_cdtq) VP mem; /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(sizeof(_KERNEL_T_DTQCB)); + mem = _KERNEL_SYS_ALC_HEP(sizeof(_KERNEL_T_DTQCB)); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_DTQ_E_NOMEM diff --git a/kernel/source/object/flg/kcre_flg.c b/kernel/source/object/flg/kcre_flg.c index 7d18527..8a2795d 100755 --- a/kernel/source/object/flg/kcre_flg.c +++ b/kernel/source/object/flg/kcre_flg.c @@ -40,7 +40,7 @@ ER _kernel_cre_flg(ID flgid, const T_CFLG *pk_cflg) VP mem; /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(sizeof(_KERNEL_T_FLGCB)); + mem = _KERNEL_SYS_ALC_HEP(sizeof(_KERNEL_T_FLGCB)); #if _KERNEL_SPT_KCRE_FLG_E_NOMEM if ( mem == NULL ) diff --git a/kernel/source/object/isr/kcre_isr.c b/kernel/source/object/isr/kcre_isr.c index e481476..0823d20 100755 --- a/kernel/source/object/isr/kcre_isr.c +++ b/kernel/source/object/isr/kcre_isr.c @@ -40,11 +40,11 @@ ER _kernel_cre_isr(ID isrid, const T_CISR *pk_cisr) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_ISRCB)) - + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_ISRCB_RO)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_ISRCB)) + + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_ISRCB_RO)); /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_ISR_E_NOMEM @@ -56,7 +56,7 @@ ER _kernel_cre_isr(ID isrid, const T_CISR *pk_cisr) /* %jp{メモリ割り当て} */ isrcb = (_KERNEL_T_ISRCB *)mem; - isrcb_ro = (_KERNEL_T_ISRCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_ISRCB))); + isrcb_ro = (_KERNEL_T_ISRCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_ISRCB))); _KERNEL_ISR_ID2ISRCB(isrid) = isrcb; _KERNEL_ISR_ID2ISRCB(isrid)->isrcb_ro = (const _KERNEL_T_ISRCB_RO *)isrcb_ro; } @@ -65,7 +65,7 @@ ER _kernel_cre_isr(ID isrid, const T_CISR *pk_cisr) VP mem; /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(sizeof(_KERNEL_T_ISRCB)); + mem = _KERNEL_SYS_ALC_HEP(sizeof(_KERNEL_T_ISRCB)); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_ISR_E_NOMEM diff --git a/kernel/source/object/mbx/kcre_mbx.c b/kernel/source/object/mbx/kcre_mbx.c index 5d64f96..137219a 100755 --- a/kernel/source/object/mbx/kcre_mbx.c +++ b/kernel/source/object/mbx/kcre_mbx.c @@ -45,15 +45,15 @@ ER _kernel_cre_mbx(ID mbxid, const T_CMBX *pk_cmbx) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MBXCB)); /* %jp{コントロールブロックのサイズ} */ - memsz += _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MBXCB_RO)); /* %jp{コントロールブロック(RO部)のサイズ} */ + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MBXCB)); /* %jp{コントロールブロックのサイズ} */ + memsz += _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MBXCB_RO)); /* %jp{コントロールブロック(RO部)のサイズ} */ if ( (pk_cmbx->mbxatr & TA_MPRI) && pk_cmbx->mprihd == NULL ) { - memsz += _KERNEL_SYS_ALG_MEM(TSZ_MPRIHD(pk_cmbx->maxmpri)); + memsz += _KERNEL_SYS_ALG_HEP(TSZ_MPRIHD(pk_cmbx->maxmpri)); } /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); #if _KERNEL_SPT_KCRE_MBX_E_NOMEM if ( mem == NULL ) @@ -63,10 +63,10 @@ ER _kernel_cre_mbx(ID mbxid, const T_CMBX *pk_cmbx) #endif /* %jp{メモリ割り当て} */ mbxcb = (_KERNEL_T_MBXCB *)mem; - mbxcb_ro = (_KERNEL_T_MBXCB_RO *)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MBXCB))); + mbxcb_ro = (_KERNEL_T_MBXCB_RO *)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MBXCB))); if ( pk_cmbx->mprihd == NULL ) { - mprihd = (VP)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MBXCB)) + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MBXCB_RO))); + mprihd = (VP)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MBXCB)) + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MBXCB_RO))); } else { @@ -82,14 +82,14 @@ ER _kernel_cre_mbx(ID mbxid, const T_CMBX *pk_cmbx) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MBXCB)); /* %jp{コントロールブロックのサイズ} */ + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MBXCB)); /* %jp{コントロールブロックのサイズ} */ if ( (pk_cmbx->mbxatr & TA_MPRI) && pk_cmbx->mprihd == NULL ) { - memsz += _KERNEL_SYS_ALG_MEM(TSZ_MPRIHD(pk_cmbx->maxmpri)); + memsz += _KERNEL_SYS_ALG_HEP(TSZ_MPRIHD(pk_cmbx->maxmpri)); } /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); #if _KERNEL_SPT_KCRE_MBX_E_NOMEM if ( mem == NULL ) @@ -102,7 +102,7 @@ ER _kernel_cre_mbx(ID mbxid, const T_CMBX *pk_cmbx) mbxcb = (_KERNEL_T_MBXCB *)mem; if ( pk_cmbx->mprihd == NULL ) { - mprihd = (VP)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MBXCB))); + mprihd = (VP)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MBXCB))); } else { @@ -117,7 +117,7 @@ ER _kernel_cre_mbx(ID mbxid, const T_CMBX *pk_cmbx) if ( (pk_cmbx->mbxatr & TA_MPRI) && pk_cmbx->mprihd == NULL ) { - mprihd = _KERNEL_SYS_ALC_MEM(TSZ_MPRIHD(pk_cmbx->maxmpri)); + mprihd = _KERNEL_SYS_ALC_HEP(TSZ_MPRIHD(pk_cmbx->maxmpri)); } else { diff --git a/kernel/source/object/mpf/kcre_mpf.c b/kernel/source/object/mpf/kcre_mpf.c index 7391051..c3f387b 100755 --- a/kernel/source/object/mpf/kcre_mpf.c +++ b/kernel/source/object/mpf/kcre_mpf.c @@ -44,7 +44,7 @@ ER _kernel_cre_mpf(ID mpfid, const T_CMPF *pk_cmpf) /* メモリ確保 */ if ( pk_cmpf->mpf == NULL ) { - mpf = _KERNEL_SYS_ALC_MEM(TSZ_MPF(pk_cmpf->blkcnt, pk_cmpf->blksz)); + mpf = _KERNEL_SYS_ALC_HEP(TSZ_MPF(pk_cmpf->blkcnt, pk_cmpf->blksz)); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_MPF_E_NOMEM if ( mpf == NULL ) @@ -67,15 +67,15 @@ ER _kernel_cre_mpf(ID mpfid, const T_CMPF *pk_cmpf) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MPFCB)); - memsz += _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MPFCB_ROM)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MPFCB)); + memsz += _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MPFCB_ROM)); if ( pk_cmpf->mpf == NULL ) { memsz += TSZ_MPF(pk_cmpf->blkcnt, pk_cmpf->blksz); } /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_MPF_E_NOMEM @@ -87,12 +87,12 @@ ER _kernel_cre_mpf(ID mpfid, const T_CMPF *pk_cmpf) /* %jp{メモリ割り当て} */ mpfcb = (_KERNEL_T_MPFCB *)mem; - mpfcb_ro = (_KERNEL_T_MPFCB_ROM *)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MPFCB))); + mpfcb_ro = (_KERNEL_T_MPFCB_ROM *)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MPFCB))); mpfcb->mpfcb_ro = mpfcb_ro; _KERNEL_TSK_ID2MPFCB(mpfid) = mpfcb; if ( pk_cmpf->mpf == NULL ) { - mpf = (_KERNEL_T_MPFCB_ROM *)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MPFCB)) + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MPFCB_ROM))); + mpf = (_KERNEL_T_MPFCB_ROM *)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MPFCB)) + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MPFCB_ROM))); } else { @@ -105,14 +105,14 @@ ER _kernel_cre_mpf(ID mpfid, const T_CMPF *pk_cmpf) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MPFCB)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MPFCB)); if ( pk_cmpf->mpf == NULL ) { memsz += TSZ_MPF(pk_cmpf->blkcnt, pk_cmpf->blksz) } /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_MPF_E_NOMEM @@ -128,7 +128,7 @@ ER _kernel_cre_mpf(ID mpfid, const T_CMPF *pk_cmpf) _KERNEL_MPF_ID2MPFCB(mpfid) = mpfcb; if ( pk_cmpf->mpf == NULL ) { - mpf = (_KERNEL_T_MPFCB_ROM *)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_MPFCB))); + mpf = (_KERNEL_T_MPFCB_ROM *)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_MPFCB))); } else { diff --git a/kernel/source/object/sem/kcre_sem.c b/kernel/source/object/sem/kcre_sem.c index 6d6edb4..2700790 100755 --- a/kernel/source/object/sem/kcre_sem.c +++ b/kernel/source/object/sem/kcre_sem.c @@ -48,11 +48,11 @@ ER _kernel_cre_sem(ID semid, const T_CSEM *pk_csem) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_SEMCB)) - + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_SEMCB_RO)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_SEMCB)) + + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_SEMCB_RO)); /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(memsz); + mem = _KERNEL_SYS_ALC_HEP(memsz); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_SEM_E_NOMEM @@ -64,7 +64,7 @@ ER _kernel_cre_sem(ID semid, const T_CSEM *pk_csem) /* %jp{メモリ割り当て} */ semcb = (_KERNEL_T_SEMCB *)mem; - semcb_ro = (_KERNEL_T_SEMCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_SEMCB))); + semcb_ro = (_KERNEL_T_SEMCB_RO *)((VB *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_SEMCB))); _KERNEL_SEM_ID2SEMCB(semid) = semcb; _KERNEL_SEM_ID2SEMCB(semid)->semcb_ro = (const _KERNEL_T_SEMCB_RO *)semcb_ro; } @@ -73,7 +73,7 @@ ER _kernel_cre_sem(ID semid, const T_CSEM *pk_csem) VP mem; /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(sizeof(_KERNEL_T_SEMCB)); + mem = _KERNEL_SYS_ALC_HEP(sizeof(_KERNEL_T_SEMCB)); /* %jp{メモリ不足チェック} */ #if _KERNEL_SPT_KCRE_SEM_E_NOMEM diff --git a/kernel/source/object/tsk/kcre_tsk.c b/kernel/source/object/tsk/kcre_tsk.c index d0ee3c0..fa8705b 100755 --- a/kernel/source/object/tsk/kcre_tsk.c +++ b/kernel/source/object/tsk/kcre_tsk.c @@ -35,7 +35,7 @@ ER _kernel_cre_tsk(ID tskid, const T_CTSK *pk_ctsk) /* %jp{スタックの確保} */ if ( pk_ctsk->stk == NULL ) { - stk = _KERNEL_SYS_ALC_MEM(pk_ctsk->stksz); + stk = _KERNEL_SYS_ALC_HEP(pk_ctsk->stksz); if ( stk == NULL ) { return E_NOMEM; @@ -59,15 +59,15 @@ ER _kernel_cre_tsk(ID tskid, const T_CTSK *pk_ctsk) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_TCB)) - + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_TCB_RO)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_TCB)) + + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_TCB_RO)); if ( pk_ctsk->stk == NULL ) { memsz += pk_ctsk->stksz; } /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(pk_ctsk->stksz); + mem = _KERNEL_SYS_ALC_HEP(pk_ctsk->stksz); if ( mem == NULL ) { return E_NOMEM; @@ -75,10 +75,10 @@ ER _kernel_cre_tsk(ID tskid, const T_CTSK *pk_ctsk) /* %jp{メモリ割り当て} */ _KERNEL_TSK_ID2TCB(tskid) = tcb = (_KERNEL_T_TCB *)mem; - tcb->tcb_ro = tcb_ro = (_KERNEL_T_TCB_RO *)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_TCB))); + tcb->tcb_ro = tcb_ro = (_KERNEL_T_TCB_RO *)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_TCB))); if ( pk_ctsk->stk == NULL ) { - stk = (VP)((B *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_TCB)) + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_TCB))); + stk = (VP)((B *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_TCB)) + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_TCB))); } else { @@ -92,14 +92,14 @@ ER _kernel_cre_tsk(ID tskid, const T_CTSK *pk_ctsk) SIZE memsz; /* %jp{メモリサイズ決定} */ - memsz = _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_TCB)); + memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_TCB)); if ( pk_ctsk->stk == NULL ) { memsz += pk_ctsk->stksz; } /* %jp{メモリ確保} */ - mem = _KERNEL_SYS_ALC_MEM(pk_ctsk->stksz); + mem = _KERNEL_SYS_ALC_HEP(pk_ctsk->stksz); if ( mem == NULL ) { return E_NOMEM; @@ -109,7 +109,7 @@ ER _kernel_cre_tsk(ID tskid, const T_CTSK *pk_ctsk) _KERNEL_TSK_ID2TCB(tskid) = tcb_ro = tcb = (_KERNEL_T_TCB *)mem; if ( pk_ctsk->stk == NULL ) { - stk = (VP)((VB *)mem + _KERNEL_SYS_ALG_MEM(sizeof(_KERNEL_T_TCB))); + stk = (VP)((VB *)mem + _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_TCB))); } else { -- 2.11.0