source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/dve68k.h@ 26

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

initial

File size: 5.2 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-2003 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 *
9 * 上記著作権者
10は,以下の (1)〜(4) の条件か,Free Software Foundation
11 * によってå…
12¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
13 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
14 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
15å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
16 * 利用と呼ぶ)することを無償で許諾する.
17 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
18 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
19 * スコード中に含まれていること.
20 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
21 * 用できる形で再é…
22å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
23å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
24 * 者
25マニュアルなど)に,上記の著作権表示,この利用条件および下記
26 * の無保証規定を掲載すること.
27 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
28 * 用できない形で再é…
29å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
30 * と.
31 * (a) 再é…
32å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
33マニュアルなど)に,上記の著
34 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
35 * (b) 再é…
36å¸ƒã®å½¢æ…
37‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
38 * 報告すること.
39 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
40 * 害からも,上記著作権者
41およびTOPPERSプロジェクトをå…
42è²¬ã™ã‚‹ã“と.
43 *
44 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
45お
46 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
47 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
48 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
49 *
50 * @(#) $Id: dve68k.h,v 1.8 2003/06/18 12:40:08 hiro Exp $
51 */
52
53/*
54 * DVE68K/40 CPUボードのハードウェア資源の定義
55 */
56
57#ifndef _DVE68K_H_
58#define _DVE68K_H_
59
60/*
61 * 割込みベクトルの定義
62 */
63#define TVEC_G0I 0x40u /* グループ0 割込みベクトル */
64#define TVEC_SQR 0x42u /* SQR 割込みベクトル */
65#define TVEC_ABT 0x46u /* アボート割込みベクトル */
66
67#define TVEC_G1I 0x48u /* グループ1 割込みベクトル */
68#define TVEC_GP0 0x48u /* シリアルI/O 割込みベクトル */
69#define TVEC_TT0 0x4cu /* タイマ0 割込みベクトル */
70
71#define TVEC_SWI 0X50u /* ソフトウェア割込みベクトル */
72#define TVEC_SPRI 0x40u /* スプリアス割込みベクトル */
73
74/*
75 * CPUボード上のレジスタ
76 */
77#define TADR_BOARD_REG0 0xfff48000
78#define TADR_BOARD_REG1 0xfff48004
79#define TADR_BOARD_REG2 0xfff48008
80
81/*
82 * DGA-001のレジスタのアドレス
83 */
84#define TADR_DGA_CSR0 0xfff44000
85#define TADR_DGA_CSR1 0xfff44004
86#define TADR_DGA_CSR3 0xfff4400c
87#define TADR_DGA_CSR4 0xfff44010
88#define TADR_DGA_CSR5 0xfff44014
89#define TADR_DGA_CSR12 0xfff44030
90#define TADR_DGA_CSR13 0xfff44034
91#define TADR_DGA_CSR19 0xfff4404c
92#define TADR_DGA_CSR20 0xfff44050
93#define TADR_DGA_CSR21 0xfff44054
94#define TADR_DGA_CSR23 0xfff4405c
95#define TADR_DGA_CSR24 0xfff44060
96#define TADR_DGA_CSR25 0xfff44064
97#define TADR_DGA_IFR0 0xfff44070
98#define TADR_DGA_IFR3 0xfff4407c
99
100/*
101 * DGAへのアクセス関数
102 */
103#define dga_rew_reg(addr) sil_rew_mem(addr)
104#define dga_wrw_reg(addr, val) sil_wrw_mem(addr, val)
105
106/*
107 * μPD72001(MPSC)のレジスタのアドレス
108 */
109#define TADR_UPD72001_DATAA 0xfff45003
110#define TADR_UPD72001_CTRLA 0xfff45007
111#define TADR_UPD72001_DATAB 0xfff4500b
112#define TADR_UPD72001_CTRLB 0xfff4500f
113
114/*
115 * μPD72001へのアクセス関数
116 */
117#define upd72001_reb_reg(addr) sil_reb_mem(addr)
118#define upd72001_wrb_reg(addr, val) sil_wrb_mem(addr, val)
119
120/*
121 * GDB STUB呼出しルーチン
122 */
123#ifndef _MACRO_ONLY
124#ifdef GDB_STUB
125
126Inline void
127dve68k_exit()
128{
129 Asm("trap #2");
130}
131
132Inline void
133dve68k_putc(char c)
134{
135 Asm("move.l %0, %%d1; trap #3"
136 : /* no output */
137 : "g"((INT) c)
138 : "d0", "d1", "d2", "d6", "d7");
139}
140
141/*
142 * モニタ呼出しルーチン
143 */
144#else /* GDB_STUB */
145
146Inline void
147dve68k_exit()
148{
149 Asm("clr.l %%d0; trap #3"
150 : /* no output */
151 : /* no input */
152 : "d0", "d1", "d2", "d6", "d7");
153}
154
155Inline char
156dve68k_getc()
157{
158 INT c;
159
160 Asm("moveq.l #3, %%d0; trap #3; move.l %%d0, %0"
161 : "=g"(c)
162 : /* no input */
163 : "d0", "d1", "d2", "d6", "d7");
164 return((char) c);
165}
166
167Inline void
168dve68k_putc(char c)
169{
170 Asm("moveq.l #5, %%d0; move.l %0, %%d1; trap #3"
171 : /* no output */
172 : "g"((INT) c)
173 : "d0", "d1", "d2", "d6", "d7");
174}
175
176#endif /* GDB_STUB */
177#endif /* _MACRO_ONLY */
178#endif /* _DVE68K_H_ */
Note: See TracBrowser for help on using the repository browser.