source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/tool_config.h@ 26

Last change on this file since 26 was 26, checked in by ykominami, 10 years ago

initial

File size: 11.6 KB
Line 
1/*
2 * TOPPERS/JSP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Just Standard Profile Kernel
5 *
6 * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 * Copyright (C) 2001-2004 by Industrial Technology Institute,
9 * Miyagi Prefectural Government, JAPAN
10 *
11 * 上記著作権者
12は,以下の (1)〜(4) の条件か,Free Software Foundation
13 * によってå…
14¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
15 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
16 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
17å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
18 * 利用と呼ぶ)することを無償で許諾する.
19 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
20 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
21 * スコード中に含まれていること.
22 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
23 * 用できる形で再é…
24å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
25å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
26 * 者
27マニュアルなど)に,上記の著作権表示,この利用条件および下記
28 * の無保証規定を掲載すること.
29 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
30 * 用できない形で再é…
31å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
32 * と.
33 * (a) 再é…
34å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
35マニュアルなど)に,上記の著
36 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
37 * (b) 再é…
38å¸ƒã®å½¢æ…
39‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
40 * 報告すること.
41 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
42 * 害からも,上記著作権者
43およびTOPPERSプロジェクトをå…
44è²¬ã™ã‚‹ã“と.
45 *
46 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
47お
48 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
49 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
50 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
51 *
52 * @(#) $Id: tool_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $
53 */
54
55/*
56 * 開発環境依存モジュール
57 *
58 * このインクルードファイルは,t_config.h のみからインクルードされる.
59 * 他のファイルから直接インクルードしてはならない.
60 */
61
62#ifndef _TOOL_CONFIG_H_
63#define _TOOL_CONFIG_H_
64
65/*
66 * 割込みコントローラ依存部および
67 *   浮動小数点演算ユニット依存部の定義
68 */
69#include <sys_tool_config.h>
70
71/*
72 * ラベルの別名を定義するためのマクロ
73 */
74#define _LABEL_ALIAS(new_label, defined_label) \
75 asm(".globl " #new_label "\n" #new_label " = " #defined_label);
76#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
77
78/*
79 * アセンブラ疑似命令
80 *   備考
81 *    @hと@haの違い
82 *     ・@hはori命令と組み合わせて使い、
83 *     ・@haは加算と組み合わせて使う。
84 */
85 /* 32ビット即値ロード */
86#define LI32(reg, imm) _LI32(reg, imm)
87#define _LI32(reg, imm) lis reg, (imm)@h; \
88 ori reg, reg, (imm)@l
89
90 /* 32ビット変数ロード */
91#define LOAD_VAL32(reg, val) _LOAD_VAL32(reg, val)
92#define _LOAD_VAL32(reg, val) \
93 lis reg, (val)@ha; \
94 lwz reg, (val)@l(reg)
95
96
97/*
98 * 開発環境依存の初期化は使用しない
99 */
100#define tool_initialize()
101
102/*
103 * 型 x のサイズ 0 のé…
104åˆ— y を定義するためのマクロ
105 *  GNU開発環境では定義を省略して良い
106 *
107 * #define __EMPTY_LABEL(x, y)
108 */
109
110#ifndef _MACRO_ONLY
111/*
112 * atexit の処理とデストラクタの実行call_atexit()
113 */
114Inline void
115call_atexit()
116{
117 extern void software_term_hook(void) __attribute__((longcall));
118 /* 相対分岐で届かないため、longcall属性を指定している */
119
120 /*
121 * software_term_hook()の有無はライブラリで決まる。
122 * カーネル自体はこの記述でどちらの場合にも対応している。
123 */
124 if (software_term_hook != 0) {
125 software_term_hook();
126 }
127}
128
129
130#endif /* _MACRO_ONLY */
131
132/*
133 * トレースログの設定
134 */
135
136/*
137 * 割込みコントローラ依存の定義
138 *  インプリメンテーション毎$(SYS)/sys_tool_config.hで定義する。
139 *  $(SYS)/sys_tool_config.hに定義がない場合はデフォルトで
140 *  空の定義がされる。
141 */
142#ifndef LOG_INH_ENTER
143#define LOG_INH_ENTER(inhno)
144#endif /* LOG_INH_ENTER */
145
146#ifndef LOG_INH_LEAVE
147#define LOG_INH_LEAVE(inhno)
148#endif /* LOG_INH_LEAVE */
149
150#ifndef LOG_ISR_ENTER
151#define LOG_ISR_ENTER(intno)
152#endif /* LOG_ISR_ENTER */
153
154#ifndef LOG_ISR_LEAVE
155#define LOG_ISR_LEAVE(intno)
156#endif /* LOG_ISR_LEAVE */
157
158#ifndef LOG_CHG_IPM_ENTER
159#define LOG_CHG_IPM_ENTER(ipm)
160#endif /* LOG_CHG_IPM_ENTER */
161
162/* 引数にIPM型を含まないが念のため、分離している */
163#ifndef LOG_CHG_IPM_LEAVE
164#define LOG_CHG_IPM_LEAVE(ercd)
165#endif /* LOG_CHG_IPM_LEAVE */
166
167#ifndef LOG_GET_IPM_ENTER
168#define LOG_GET_IPM_ENTER(p_ipm)
169#endif /* LOG_GET_IPM_ENTER */
170
171#ifndef LOG_GET_IPM_LEAVE
172#define LOG_GET_IPM_LEAVE(ercd, ipm)
173#endif /* LOG_GET_IPM_LEAVE */
174
175/*
176 * DSP依存の定義
177 */
178#ifndef LOG_DSP_ENTER
179#define LOG_DSP_ENTER(tcb)
180#endif /* LOG_DSP_ENTER */
181
182#ifndef LOG_DSP_LEAVE
183#define LOG_DSP_LEAVE(tcb)
184#endif /* LOG_DSP_LEAVE */
185
186
187
188/*
189 * PowerPCファミリå…
190±é€šã®å®šç¾©
191 */
192#define LOG_CYC_ENTER(cyccb)
193#define LOG_CYC_LEAVE(cyccb)
194
195#define LOG_EXC_ENTER(excno) /* プロセッサ依存部 */
196#define LOG_EXC_LEAVE(excno) /* プロセッサ依存部 */
197
198#define LOG_TEX_ENTER(texptn)
199#define LOG_TEX_LEAVE(texptn)
200
201#define LOG_TSKSTAT(tcb)
202
203#define LOG_ACT_TSK_ENTER(tskid)
204#define LOG_ACT_TSK_LEAVE(ercd)
205#define LOG_IACT_TSK_ENTER(tskid)
206#define LOG_IACT_TSK_LEAVE(ercd)
207#define LOG_CAN_ACT_ENTER(tskid)
208#define LOG_CAN_ACT_LEAVE(ercd)
209#define LOG_EXT_TSK_ENTER()
210#define LOG_TER_TSK_ENTER(tskid)
211#define LOG_TER_TSK_LEAVE(ercd)
212#define LOG_CHG_PRI_ENTER(tskid, tskpri)
213#define LOG_CHG_PRI_LEAVE(ercd)
214#define LOG_GET_PRI_ENTER(tskid, p_tskpri)
215#define LOG_GET_PRI_LEAVE(ercd, tskpri)
216#define LOG_SLP_TSK_ENTER()
217#define LOG_SLP_TSK_LEAVE(ercd)
218#define LOG_TSLP_TSK_ENTER(tmout)
219#define LOG_TSLP_TSK_LEAVE(ercd)
220#define LOG_WUP_TSK_ENTER(tskid)
221#define LOG_WUP_TSK_LEAVE(ercd)
222#define LOG_IWUP_TSK_ENTER(tskid)
223#define LOG_IWUP_TSK_LEAVE(ercd)
224#define LOG_CAN_WUP_ENTER(tskid)
225#define LOG_CAN_WUP_LEAVE(ercd)
226#define LOG_REL_WAI_ENTER(tskid)
227#define LOG_REL_WAI_LEAVE(ercd)
228#define LOG_IREL_WAI_ENTER(tskid)
229#define LOG_IREL_WAI_LEAVE(ercd)
230#define LOG_SUS_TSK_ENTER(tskid)
231#define LOG_SUS_TSK_LEAVE(ercd)
232#define LOG_RSM_TSK_ENTER(tskid)
233#define LOG_RSM_TSK_LEAVE(ercd)
234#define LOG_FRSM_TSK_ENTER(tskid)
235#define LOG_FRSM_TSK_LEAVE(ercd)
236#define LOG_DLY_TSK_ENTER(dlytim)
237#define LOG_DLY_TSK_LEAVE(ercd)
238#define LOG_RAS_TEX_ENTER(tskid, rasptn)
239#define LOG_RAS_TEX_LEAVE(ercd)
240#define LOG_IRAS_TEX_ENTER(tskid, rasptn)
241#define LOG_IRAS_TEX_LEAVE(ercd)
242#define LOG_DIS_TEX_ENTER()
243#define LOG_DIS_TEX_LEAVE(ercd)
244#define LOG_ENA_TEX_ENTER()
245#define LOG_ENA_TEX_LEAVE(ercd)
246#define LOG_SNS_TEX_ENTER()
247#define LOG_SNS_TEX_LEAVE(state)
248#define LOG_SIG_SEM_ENTER(semid)
249#define LOG_SIG_SEM_LEAVE(ercd)
250#define LOG_ISIG_SEM_ENTER(semid)
251#define LOG_ISIG_SEM_LEAVE(ercd)
252#define LOG_WAI_SEM_ENTER(semid)
253#define LOG_WAI_SEM_LEAVE(ercd)
254#define LOG_POL_SEM_ENTER(semid)
255#define LOG_POL_SEM_LEAVE(ercd)
256#define LOG_TWAI_SEM_ENTER(semid, tmout)
257#define LOG_TWAI_SEM_LEAVE(ercd)
258#define LOG_SET_FLG_ENTER(flgid, setptn)
259#define LOG_SET_FLG_LEAVE(ercd)
260#define LOG_ISET_FLG_ENTER(flgid, setptn)
261#define LOG_ISET_FLG_LEAVE(ercd)
262#define LOG_CLR_FLG_ENTER(flgid, clrptn)
263#define LOG_CLR_FLG_LEAVE(ercd)
264#define LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
265#define LOG_WAI_FLG_LEAVE(ercd, flgptn)
266#define LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
267#define LOG_POL_FLG_LEAVE(ercd, flgptn)
268#define LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
269#define LOG_TWAI_FLG_LEAVE(ercd, flgptn)
270#define LOG_SND_DTQ_ENTER(dtqid, data)
271#define LOG_SND_DTQ_LEAVE(ercd)
272#define LOG_PSND_DTQ_ENTER(dtqid, data)
273#define LOG_PSND_DTQ_LEAVE(ercd)
274#define LOG_IPSND_DTQ_ENTER(dtqid, data)
275#define LOG_IPSND_DTQ_LEAVE(ercd)
276#define LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
277#define LOG_TSND_DTQ_LEAVE(ercd)
278#define LOG_FSND_DTQ_ENTER(dtqid, data)
279#define LOG_FSND_DTQ_LEAVE(ercd)
280#define LOG_IFSND_DTQ_ENTER(dtqid, data)
281#define LOG_IFSND_DTQ_LEAVE(ercd)
282#define LOG_RCV_DTQ_ENTER(dtqid, p_data)
283#define LOG_RCV_DTQ_LEAVE(ercd, data)
284#define LOG_PRCV_DTQ_ENTER(dtqid, p_data)
285#define LOG_PRCV_DTQ_LEAVE(ercd, data)
286#define LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
287#define LOG_TRCV_DTQ_LEAVE(ercd, data)
288#define LOG_SND_MBX_ENTER(mbxid, pk_msg)
289#define LOG_SND_MBX_LEAVE(ercd)
290#define LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
291#define LOG_RCV_MBX_LEAVE(ercd, pk_msg)
292#define LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
293#define LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
294#define LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
295#define LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
296#define LOG_GET_MPF_ENTER(mpfid, p_blk)
297#define LOG_GET_MPF_LEAVE(ercd, blk)
298#define LOG_PGET_MPF_ENTER(mpfid, p_blk)
299#define LOG_PGET_MPF_LEAVE(ercd, blk)
300#define LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
301#define LOG_TGET_MPF_LEAVE(ercd, blk)
302#define LOG_REL_MPF_ENTER(mpfid, blk)
303#define LOG_REL_MPF_LEAVE(ercd)
304#define LOG_SET_TIM_ENTER(p_systim)
305#define LOG_SET_TIM_LEAVE(ercd)
306#define LOG_GET_TIM_ENTER(p_systim)
307#define LOG_GET_TIM_LEAVE(ercd, systim)
308#define LOG_ISIG_TIM_ENTER()
309#define LOG_ISIG_TIM_LEAVE(ercd)
310#define LOG_STA_CYC_ENTER(cycid)
311#define LOG_STA_CYC_LEAVE(ercd)
312#define LOG_STP_CYC_ENTER(cycid)
313#define LOG_STP_CYC_LEAVE(ercd)
314#define LOG_ROT_RDQ_ENTER(tskpri)
315#define LOG_ROT_RDQ_LEAVE(ercd)
316#define LOG_IROT_RDQ_ENTER(tskpri)
317#define LOG_IROT_RDQ_LEAVE(ercd)
318#define LOG_GET_TID_ENTER(p_tskid)
319#define LOG_GET_TID_LEAVE(ercd, tskid)
320#define LOG_IGET_TID_ENTER(p_tskid)
321#define LOG_IGET_TID_LEAVE(ercd, tskid)
322#define LOG_LOC_CPU_ENTER()
323#define LOG_LOC_CPU_LEAVE(ercd)
324#define LOG_ILOC_CPU_ENTER()
325#define LOG_ILOC_CPU_LEAVE(ercd)
326#define LOG_UNL_CPU_ENTER()
327#define LOG_UNL_CPU_LEAVE(ercd)
328#define LOG_IUNL_CPU_ENTER()
329#define LOG_IUNL_CPU_LEAVE(ercd)
330#define LOG_DIS_DSP_ENTER()
331#define LOG_DIS_DSP_LEAVE(ercd)
332#define LOG_ENA_DSP_ENTER()
333#define LOG_ENA_DSP_LEAVE(ercd)
334#define LOG_SNS_CTX_ENTER()
335#define LOG_SNS_CTX_LEAVE(state)
336#define LOG_SNS_LOC_ENTER()
337#define LOG_SNS_LOC_LEAVE(state)
338#define LOG_SNS_DSP_ENTER()
339#define LOG_SNS_DSP_LEAVE(state)
340#define LOG_SNS_DPN_ENTER()
341#define LOG_SNS_DPN_LEAVE(state)
342#define LOG_VSNS_INI_ENTER()
343#define LOG_VSNS_INI_LEAVE(state)
344#define LOG_VXSNS_CTX_ENTER(p_excinf)
345#define LOG_VXSNS_CTX_LEAVE(state)
346#define LOG_VXSNS_LOC_ENTER(p_excinf)
347#define LOG_VXSNS_LOC_LEAVE(state)
348#define LOG_VXSNS_DSP_ENTER(p_excinf)
349#define LOG_VXSNS_DSP_LEAVE(state)
350#define LOG_VXSNS_DPN_ENTER(p_excinf)
351#define LOG_VXSNS_DPN_LEAVE(state)
352#define LOG_VXSNS_TEX_ENTER(p_excinf)
353#define LOG_VXSNS_TEX_LEAVE(state)
354#define LOG_VXGET_TIM_ENTER(p_sysutim)
355#define LOG_VXGET_TIM_LEAVE(ercd, sysutim)
356
357#endif /* _TOOL_CONFIG_H_ */
358/* end of file */
Note: See TracBrowser for help on using the repository browser.