source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/exception_vector.S@ 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 * Copyright (C) 2000-2003 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
53#define _MACRO_ONLY
54
55#include "jsp_kernel.h"
56
57 .section ".exce_vec_map","xa"
58 /* exce_vec_map セクションの記述は、1kbyte内
59に収める
60 こと。(0xbfc00000-0xbfc00400 の範囲内
61)
62 これは、0xbfc00400 からの領域に、init セクション
63 ならびに text セクションが記述されるため。*/
64
65 .set noreorder
66
67 .align 2
68
69/*
70 * 例外ベクタアドレスでの分岐処理 (BEV=1を想定)
71 */
72
73/*
74 * コールドリセット、ソフトリセット、NMI(Non Maskable Interrupt)
75 * ステータスレジスタのBEVビットに
76 * 依存しない:0xbfc00000番地 (kseg1領域;キャッシュなし)
77 */
78
79 .global start /* ここがエントリーポイント */
80
81start:
82reset_and_NMI:
83 mfc0 k0, Status
84 li k1, SR_SR
85 and k1, k0, k1
86 bne k1, zero, NMI_exception
87 nop
88
89 /* コールドリセット時 */
90 la k1, reset
91 jr k1
92 nop
93
94 /* ソフトリセット、NMI 時 */
95NMI_exception:
96 la k1, reset
97 jr k1
98 nop
99
100/*
101 * TLB不一致例外(JSPカーネルではTLB未使用)
102 * ステータスレジスタのBEVビットが
103 * 1のとき:0xbfc00200番地 (kseg1領域;キャッシュなし)
104 * 0のとき:0x80000000番地 (kseg0領域;キャッシュあり)
105 */
106 .org 0x200
107
108TLB_miscompare_exception:
109 move a0, sp
110 mfc0 a1, Status
111 mfc0 a2, Cause
112 la k1, cpu_experr
113 jr k1
114 nop
115
116/*
117 * XTLB不一致例外(JSPカーネルではTLB未使用)
118 * ステータスレジスタのBEVビットが
119 * 1のとき:0xbfc00280番地 (kseg1領域;キャッシュなし)
120 * 0のとき:0x80000080番地 (kseg0領域;キャッシュあり)
121 */
122 .org 0x280
123
124XTLB_miscompare_exception:
125 move a0, sp
126 mfc0 a1, Status
127 mfc0 a2, Cause
128 la k1, cpu_experr
129 jr k1
130 nop
131
132/*
133 * キャッシュエラー例外
134 * ステータスレジスタのBEVビットが
135 * 1のとき:0xbfc00300番地 (kseg1領域;キャッシュなし)
136 * 0のとき:0xa0000100番地 (kseg0領域;キャッシュあり)
137 */
138 .org 0x300
139
140cashe_error_exception:
141 move a0, sp
142 mfc0 a1, Status
143 mfc0 a2, Cause
144 la k1, cpu_experr
145 jr k1
146 nop
147
148/*
149 * その他例外:例外/割り込み出å…
150¥å£å‡¦ç†ãƒ«ãƒ¼ãƒãƒ³
151 * (MIPSアーキテクチャは割込みベクタテーブルを持たず、割込みも一般例外の
152 * 一種として分岐する)
153 * ステータスレジスタのBEVビットが
154 * 1のとき:0xbfc00380番地 (kseg1領域;キャッシュなし)
155 * 0のとき:0x80000180番地 (kseg0領域;キャッシュあり)
156 */
157
158 .org 0x200 + 0x180 /* TLB不一致例外の0x180番地後ろにé…
159ç½® */
160
161other_exception:
162 la k1, general_exception
163 jr k1
164 nop
Note: See TracBrowser for help on using the repository browser.