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

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

initial

File size: 9.7 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: vea_oea.h,v 1.2 2004/10/07 17:10:56 honda Exp $
53 */
54
55/*
56 * PowerPCアーキテクチャVEA,OEA依存の定義
57 *  オリジナルのPowerPCアーキテクチャの場合
58 *   モトローラMPCシリーズ、IPM PowerPC6xx/7xxシリーズは
59 *   こちらに該当する。
60 *  
61 *  PowerPCアーキテクチャの定義は以下の3つのレベルから成る
62 *  ・USIA:User Instruction Set Architecture
63 *  ・VEA: Virtual Environment Architecture
64 *  ・OEA: Operating Environment Architecture
65 *  
66 *  USIAについてはå…
67¨æ©Ÿç¨®å…
68±é€šã§ã‚るが、VEAとOEAについては
69 *  オリジナルのPowerPCアーキテクチャとThe IBM PowerPC
70 *  Embedded Environmentそれぞれ別に定義されているため、
71 *  VEAとOEAの定義はファイルを分けて、それをインクルード
72 *  している。
73 */
74
75#ifndef _VEA_OEA_H_
76#define _VEA_OEA_H_
77
78/*
79 * レジスタ番号の定義
80 */
81
82/*
83 * Configuration Register
84 */
85#define PVR 287 /* プロセッサ・バージョン・レジスタ */
86
87/*
88 * Memory Management Registers
89 */
90/* Instruction BAT Registers */
91#define IBAT0U 528
92#define IBAT0L 529
93#define IBAT1U 530
94#define IBAT1L 531
95#define IBAT2U 532
96#define IBAT2L 533
97#define IBAT3U 534
98#define IBAT3L 535
99
100/* Instruction BAT Registers */
101#define DBAT0U 536
102#define DBAT0L 537
103#define DBAT1U 538
104#define DBAT1L 539
105#define DBAT2U 540
106#define DBAT2L 541
107#define DBAT3U 542
108#define DBAT3L 543
109
110#define SDR1 25
111#define ASR 280
112
113/*
114 * Exception Handling Registers
115 */
116#define DAR 19 /* Data Address Register */
117
118#define SPRG0 272 /* 特殊レジスタ:OS用 */
119#define SPRG1 273 /* 特殊レジスタ:OS用 */
120#define SPRG2 274 /* 特殊レジスタ:OS用 */
121#define SPRG3 275 /* 特殊レジスタ:OS用 */
122
123#define DSISR 18 /* DSIステータス・レジスタ(*) */
124 /*  DSI:データ・ストア割込み */
125#define SRR0 26 /* 待
126避/復帰レジスタ0 */
127#define SRR1 27 /* 待
128避/復帰レジスタ1 */
129
130#define FPECR 1022 /* Floating-Point Exception Cause Register */
131
132
133/*
134 * Miscellaneous Registers
135 */
136/* Time Base Facility(OEA:for Writing) */
137#define TBLw 284
138#define TBUw 285
139
140/* Time Base Facility(VEA:for Reading) */
141#define TBL 268
142#define TBU 269
143
144#define DEC 22 /* ディクリメント・レジスタ(*) */
145
146#define PIR 1023 /* Processor Identification Register */
147
148#define DABR 1013 /* DATA Address Breakpint Register(option) */
149#define EAR 282 /* Exception Access Register(option) */
150
151
152
153/*
154 * ビット番号の定義
155 *  注意:PowerPCのビット番号は通常と逆になっている
156 *     また、32ビットレジスタと16ビットレジスタでは
157 *     最下位ビットのビット番号が異なる点にも注意
158 */
159
160/* マシンステータスレジスタの各ビットの定義 */
161/*  注意:32ビット・インプリメント専用 */
162#define MSR_POW BIT13_32 /* パワーマネージメント・イネーブル */
163#define MSR_ILE BIT15_32 /* 例外処理時のエンディアンモード */
164 /*  例外受付時にMSR.LE←MSR.ILE */
165#define MSR_EE BIT16_32 /* 外部割込みイネーブル */
166#define MSR_PR BIT17_32 /* 特権レベル */
167 /*  0:スーパバイザ・レベル */
168 /*  1:ユーザ・レベル */
169#define MSR_FP BIT18_32 /* 浮動小数点イネーブル */
170#define MSR_ME BIT19_32 /* マシンチェック・イネーブル */
171#define MSR_FE0 BIT20_32 /* 浮動小数点例外モード0 */
172#define MSR_FE1 BIT23_32 /* 浮動小数点例外モード1 */
173 /*  注意:番号が不連続 */
174#define MSR_SE BIT21_32 /* シングルステップトレース・イネーブル */
175#define MSR_BE BIT22_32 /* 分岐トレース・イネーブル */
176#define MSR_IP BIT25_32 /* 例外プリフィックス */
177 /*  0:0x000n,nnnn */
178 /*  1:0xfffn,nnnn */
179#define MSR_IR BIT26_32 /* 命令アドレス変換イネーブル */
180#define MSR_DR BIT27_32 /* データアドレス変換イネーブル */
181#define MSR_RI BIT30_32 /* 回復可能な例外 */
182 /*  0:回復不可能 */
183 /*  1:回復可能 */
184#define MSR_LE BIT31_32 /* リトルエンディアン・モード */
185 /*  0:ビッグエンディアン */
186 /*  1:リトルエンディアン */
187/* 0で予約されているビットのためのマスク */
188#define MSR_MASK ~(BIT0_32 | BIT1_32 | BIT2_32 | BIT3_32 | BIT4_32 \
189 | BIT5_32 | BIT6_32 | BIT7_32 | BIT8_32 | BIT9_32 \
190 | BIT10_32 | BIT11_32 | BIT12_32 | BIT24_32 \
191 | BIT28_32 | BIT29_32)
192
193
194/*
195 * CPU例外要因の定義
196 *  番号が不連続なのでCPU例外擬似ベクタテーブルに一部無駄がå…
197¥ã‚‹ãŒã€
198 *  PowerPCアーキテクチャの定義に合わせる方を優å…
199ˆã—た。
200 */
201#define EXC_NO_SYSTEM_RESET 0x1 /* システムリセット例外 */
202#define EXC_NO_MACHINE_CHECK 0x2 /* マシン・チェック例外 */
203#define EXC_NO_DSI 0x3 /* DSI例外 */
204 /* (データ・メモリ・アクセス) */
205#define EXC_NO_ISI 0x4 /* ISI例外(命令フェッチ) */
206#define EXC_NO_EXTERNAL_INTERRUPT 0x5 /* 外部割込み */
207#define EXC_NO_ALIGNMENT 0x6 /* アライメント例外 */
208#define EXC_NO_PROGRAM 0x7 /* プログラム例外 */
209#define EXC_NO_FLOATING_POINT_UNAVAILABLE 0x8 /* 浮動小数点使用不可 */
210#define EXC_NO_DECREMENTER 0x9 /* デクリメンタ例外 */
211 /* インプリメンテーション固有の例外0x00a00 */
212#define EXC_NO_IMPLEMENT_EXCEPTION_00A00 0xa
213#define EXC_NO_SYSTEM_CALL 0xc /* システムコール */
214#define EXC_NO_TRACE 0xd /* トレース(オプション) */
215#define EXC_NO_FLOATING_POINT_ASSIST 0xe /* 浮動小数点補助 */
216 /* インプリメンテーション固有の例外0x01000 */
217#define EXC_NO_IMPLEMENT_EXCEPTION_01000 0x10
218
219
220/*
221 * 例外の種別数
222 *  外部割込みも1つと数える
223 *   0番は未使用
224 *    ・例外ベクタのオフセットと対応
225 *    ・外部割り込みも1つと数える
226 *    ・é…
227åˆ—宣言のため、+1している
228 */
229
230#ifdef IMPLEMENT_EXCEPTION_01000 /* 例外ベクタ0x1000を使用する場合 */
231#define TMAX_EXCNO ( 0x10 + 1 )
232
233#else /* IMPLEMENT_EXCEPTION_01000 */
234#define TMAX_EXCNO ( 0xe + 1 )
235
236#endif /* IMPLEMENT_EXCEPTION_01000 */
237
238
239
240
241#endif /* _VEA_OEA_H_ */
242/* end of file */
Note: See TracBrowser for help on using the repository browser.