mp_config.hマルチプロセッササポートモジュール ヘッダーファイル(Nios2用) [詳細]
#include "nios2.h"
mp_config.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
ソースコードを見る。
説明
マルチプロセッササポートモジュール ヘッダーファイル(Nios2用)
mp_config.h で定義されています。
マクロ定義
#define MASTER_PROC |
( |
|
) |
(PRCID == 1) |
|
関数
Inline void clear_ipi |
( |
void |
|
) |
|
|
Inline void hw_ipi_initialize |
( |
void |
|
) |
|
|
|
mp_config.h の 84 行で定義されています。 00085 {
00086 VB *s = str;
00087
00088 while (len-- > 0) {
00089 *s++ = ch;
00090 }
00091 return(str);
00092 }
|
void mp_init_sync |
( |
void |
|
) |
|
|
|
マスタプロセッサによる初期化を待つ(マスタプロセッサ以外が実行)
mp_config.c の 93 行で定義されています。
参照先 MAGIC_START. 00094 {
00095 INT i;
00096 INT cnt = 0;
00097
00098 if (!((exccb_available == 0) || (exccb_available == MAGIC_START))) {
00099 exccb_available = 0;
00100 }
00101
00102 while (1) {
00103 for (i = 0; i < 300; i++);
00104 cnt++;
00105 if (exccb_available == MAGIC_START) {
00106 break;
00107 }
00108 }
00109
00110 syslog(LOG_NOTICE,"receive %x(cnt=%d)",exccb_available, cnt);
00111 }
|
void mp_initialize |
( |
void |
|
) |
|
|
|
同期用のデータ初期化(マスタプロセッサのみ実行)
mp_config.c の 77 行で定義されています。
参照先 FALSE. 00078 {
00079 INT i;
00080
00081 sys_start = 0;
00082 exccb_available = 0;
00083 for (i = 1; i <= NO_PROC; i++) {
00084 proc_init[i-1] = FALSE;
00085 }
00086 exccb_available = MAGIC_START;
00087 }
|
|
全てのプロセッサのEXCCBの初期化待ち
mp_config.c の 117 行で定義されています。
参照先 MASTER_PROC・TRUE. 00118 {
00119 INT i, j, flag;
00120
00121 proc_init[PRCID - 1] = TRUE;
00122
00123 if (MASTER_PROC()) {
00124 do {
00125 flag = 0;
00126 for (i = 1; i <= NO_PROC; i++) {
00127 if (proc_init[i-1] == TRUE) {
00128 flag++;
00129 }
00130 }
00131 for (j =0; j < 100; j++);
00132 } while (flag < NO_PROC);
00133 sys_start = MAGIC_START;
00134 exccb_available = 0;
00135 }
00136 else {
00137 while (sys_start != MAGIC_START) {
00138 for (j = 0; j < 100; j++);
00139 }
00140 }
00141 }
|
Inline void raise_ipi |
( |
INT |
procid |
) |
|
|
Copyright © 2006 by TAKAGI Nobuhisa.
このページは Mon Apr 3 23:49:16 2006 に Doxygen によって生成されました。
|
|