source: atk2-sc3-1.4.0-ntisr/arch/v850_gcc/SmpC1ISR.S@ 172

Last change on this file since 172 was 172, checked in by ertl-ishikawa, 8 years ago

ATK2-SC3 1.4.0 RH850依存部 非信頼C2ISR対応を追加

  • Property svn:executable set to *
File size: 5.4 KB
Line 
1/*
2 * TOPPERS ATK2
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 * Automotive Kernel Version 2
5 *
6 * Copyright (C) 2012-2013 by Center for Embedded Computing Systems
7 * Graduate School of Information Science, Nagoya Univ., JAPAN
8 * Copyright (C) 2012-2013 by FUJISOFT INCORPORATED, JAPAN
9 * Copyright (C) 2012-2013 by FUJITSU VLSI LIMITED, JAPAN
10 * Copyright (C) 2012-2013 by NEC Communication Systems, Ltd., JAPAN
11 * Copyright (C) 2012-2013 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
12 * Copyright (C) 2012-2013 by Renesas Electronics Corporation, JAPAN
13 * Copyright (C) 2012-2013 by Sunny Giken Inc., JAPAN
14 * Copyright (C) 2012-2013 by TOSHIBA CORPORATION, JAPAN
15 * Copyright (C) 2012-2013 by Witz Corporation, JAPAN
16 *
17 * 上記著作権者
18は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
19 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
20 * 変・再é…
21å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
22 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
23 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
24 * スコード中に含まれていること.
25 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
26 * 用できる形で再é…
27å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
29 * 者
30マニュアルなど)に,上記の著作権表示,この利用条件および下記
31 * の無保証規定を掲載すること.
32 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
33 * 用できない形で再é…
34å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
35 * と.
36 * (a) 再é…
37å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
38マニュアルなど)に,上記の著
39 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
40 * (b) 再é…
41å¸ƒã®å½¢æ…
42‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
43 * 報告すること.
44 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
45 * 害からも,上記著作権者
46およびTOPPERSプロジェクトをå…
47è²¬ã™ã‚‹ã“と.
48 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
49 * 由に基づく請求からも,上記著作権者
50およびTOPPERSプロジェクトを
51 * å…
52è²¬ã™ã‚‹ã“と.
53 *
54 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
55お
56 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
57 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
58 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
59 * の責任を負わない.
60 *
61 * $Id: SmpC1ISR.S 117 2014-12-10 03:58:03Z t_ishikawa $
62 */
63
64#define TOPPERS_MACRO_ONLY
65
66#define UINT_C(val) (val)
67#define CAST(type, val) (val) /* 型キャストを行うマクロ */
68
69#include "v850asm.inc"
70#include "target_test.h"
71#include "kernel/kernel_impl.h"
72#include "target_timer.h"
73#include "v850.h"
74
75.global C1ISRMainSmpC1ISR
76.global _C1ISRMainSmpC1ISR
77
78C1ISRMainSmpC1ISR:
79_C1ISRMainSmpC1ISR:
80
81 /* レジスタの保存 */
82 addi -80, sp, sp
83 st.w ep, 12[sp]
84 mov sp, ep
85 sst.w r1, 72[ep]
86 sst.w r6, 68[ep]
87 sst.w r7, 64[ep]
88 sst.w r8, 60[ep]
89 sst.w r9, 56[ep]
90 sst.w r10, 52[ep]
91 sst.w r11, 48[ep]
92 sst.w r12, 44[ep]
93 sst.w r13, 40[ep]
94 sst.w r14, 36[ep]
95 sst.w r15, 32[ep]
96 sst.w r16, 28[ep]
97 sst.w r17, 24[ep]
98 sst.w r18, 20[ep]
99 sst.w r19, 16[ep]
100 sst.w r31, 8[ep]
101
102 /* 多重割込みのため,現在のEIPCとEIPSWを保存 */
103 stsr eipc, r6
104 sst.w r6, 4[ep]
105 stsr eipsw, r6
106 sst.w r6, 0[ep]
107
108 /* debug led4 on */
109 Lea P24, r6
110 ld.h 0[r6], r7 /* P24 -> r7 */
111 mov ~0x0800, r8
112 and r7, r8
113 st.h r8, 0[r6]
114
115 UNLOCK_ALL_INT /* å…
116¨å‰²è¾¼ã¿è§£é™¤ */
117
118 /* 割込み発生前のcallevel_statをスタックに保存 */
119 Lea _callevel_stat, r6
120 ld.h 0[r6], r7
121 sst.w r7, 76[ep]
122
123 /* callevel_statにC1ISRをセット */
124
125 Lea TSYS_ISR1, r8
126 or r8, r7
127 st.h r7, 0[r6]
128
129 /*
130 * タイマ割込みをクリア
131 */
132 Lea ICTAUA0I(TAUA_CH7), r6
133 ld.h 0[r6], r7
134 mov ~EIRFn, r8
135 and r8, r7
136 st.h r7, 0[r6]
137
138/* jarl _c1isr_syslog, r31 FIXME */
139
140 Lea _callevel_stat, r6
141 sld.w 76[ep], r7
142 st.h r7, 0[r6]
143
144 LOCK_ALL_INT /* å…
145¨å‰²è¾¼ã¿è¨­å®š */
146
147 /* debug led4 off */
148 Lea P24, r6
149 ld.h 0[r6], r7 /* P24 -> r7 */
150 mov 0x0800, r8
151 or r7, r8
152 st.h r8, 0[r6]
153
154 /* レジスタの復帰 */
155 mov sp, ep
156 sld.w 4[ep], r10
157 ldsr r10, eipc
158 sld.w 0[ep], r10
159 ldsr r10, eipsw
160 sld.w 72[ep], r1
161 sld.w 68[ep], r6
162 sld.w 64[ep], r7
163 sld.w 60[ep], r8
164 sld.w 56[ep], r9
165 sld.w 52[ep], r10
166 sld.w 48[ep], r11
167 sld.w 44[ep], r12
168 sld.w 40[ep], r13
169 sld.w 36[ep], r14
170 sld.w 32[ep], r15
171 sld.w 28[ep], r16
172 sld.w 24[ep], r17
173 sld.w 20[ep], r18
174 sld.w 16[ep], r19
175 sld.w 8[ep], r31
176 addi 80, ep, sp
177 sld.w 12[ep], r30
178 eiret
179
Note: See TracBrowser for help on using the repository browser.