- Timestamp:
- Jul 3, 2020, 7:19:17 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/arch/arm_gcc/rza1/chip_kernel_impl.c
r321 r429 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems/ 4 4 * Advanced Standard Profile Kernel 5 * 5 * 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2006-201 6by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2006-2018 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 * 10 * 11 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 … … 31 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 32 * 免責すること. 33 * 33 * 34 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 … … 37 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 38 * の責任を負わない. 39 * 39 * 40 40 * $Id$ 41 41 */ … … 46 46 47 47 #include "kernel_impl.h" 48 #include <sil.h> 48 49 #include "interrupt.h" 50 #include "pl310.h" 49 51 50 52 /* … … 55 57 { 56 58 /* 57 * キャッシュをディスエーブル59 * MPCore依存の初期化 58 60 */ 59 arm_disable_cache();61 mpcore_initialize(); 60 62 61 63 /* 62 * コア依存の初期化64 * L2キャッシュコントローラ(PL310)の初期化 63 65 */ 64 core_initialize(); 65 66 /* 67 * キャッシュをイネーブル 68 */ 69 arm_enable_cache(); 70 71 /* 72 * GICのディストリビュータの初期化 73 */ 74 gicd_initialize(); 75 76 /* 77 * GICのCPUインタフェースの初期化 78 */ 79 gicc_initialize(); 80 81 /* 82 * 分岐予測の無効化とイネーブル 83 */ 84 arm_invalidate_bp(); 85 arm_enable_bp(); 66 pl310_initialize(0x0U, ~0x0U); 86 67 } 87 68 88 69 /* 89 * チップ依存 部の終了処理70 * チップ依存の終了処理 90 71 */ 91 72 void 92 73 chip_terminate(void) 93 74 { 94 extern void software_term_hook(void);95 void (*volatile fp)(void) = software_term_hook;96 97 75 /* 98 * software_term_hookへのポインタを,一旦volatile指定のあるfpに代 99 * 入してから使うのは,0との比較が最適化で削除されないようにするた 100 * めである. 76 * MPCore依存の終了処理 101 77 */ 102 if (fp != 0) { 103 (*fp)(); 104 } 105 106 /* 107 * GICのCPUインタフェースの終了処理 108 */ 109 gicc_terminate(); 110 111 /* 112 * GICのディストリビュータの終了処理 113 */ 114 gicd_terminate(); 115 116 /* 117 * コア依存の終了処理 118 */ 119 core_terminate(); 78 mpcore_terminate(); 120 79 } 121 80 … … 177 136 */ 178 137 gicd_set_priority(intno, INT_IPM(intpri)); 179 gicd_set_target(intno, 1U << arm_prc_index());138 gicd_set_target(intno, 1U << get_my_prcidx()); 180 139 181 140 /*
Note:
See TracChangeset
for help on using the changeset viewer.