sys_config.c

ターゲットシステム依存モジュール(DVE68K/40用) [詳細]

#include "jsp_kernel.h"
#include <sil.h>
#include <dve68k_dga.h>

sys_config.cのインクルード依存関係図

ソースコードを見る。

関数

void sys_initialize ()
void sys_exit ()
void sys_putc (char c)

変数

UINT board_id
VP board_addr


説明

ターゲットシステム依存モジュール(DVE68K/40用)

sys_config.c で定義されています。


関数

void sys_exit ( void   ) 

sys_config.c117 行で定義されています。

参照先 dve68k_exit().

参照元 kernel_exit().

00118 {
00119         dve68k_exit();
00120 }

関数の呼び出しグラフ:

void sys_initialize ( void   ) 

sys_config.c57 行で定義されています。

参照先 board_addrboard_iddga_bit_or()dga_read()dga_set_ilv()dga_write()sil_rew_mem()TADR_BOARD_REG0TADR_DGA_CSR1TADR_DGA_CSR19TADR_DGA_CSR21TADR_DGA_CSR23TADR_DGA_CSR24TADR_DGA_CSR3TADR_DGA_CSR4TADR_DGA_CSR5TADR_DGA_IFR0TADR_DGA_IFR3TBIT_ABTTBIT_ABTILTIRQ_NMITVEC_G0ITVEC_G1ITVEC_SPRITVEC_SWI.

参照元 kernel_start().

00058 {
00059         /*
00060          *  プロセッサ識別のための変数の初期化
00061          */
00062         board_id = ((UINT)(sil_rew_mem((VP) TADR_BOARD_REG0)) & 0x1f);
00063         board_addr = (VP)(board_id << 24);
00064 
00065         /*
00066          *  割込み関連の初期化
00067          *
00068          *  すべての割込みをマスク・クリアし,割込みベクトルを設定する.
00069          */
00070         dga_write((VP) TADR_DGA_CSR21, 0);
00071         dga_write((VP) TADR_DGA_CSR23, ~0);
00072         dga_write((VP) TADR_DGA_CSR19, (TVEC_G0I << 24) | (TVEC_G1I << 16)
00073                                         | (TVEC_SWI << 8) | TVEC_SPRI);
00074 
00075         /*
00076          *  アボート割込みの設定(NMI)
00077          *
00078          *  アボート割込みの割込みレベルを設定し,要求をクリアした後,
00079          *  マスクを解除する.
00080          */
00081         dga_set_ilv((VP) TADR_DGA_CSR24, TBIT_ABTIL, TIRQ_NMI);
00082         dga_write((VP) TADR_DGA_CSR23, TBIT_ABT);
00083         dga_bit_or((VP) TADR_DGA_CSR21, TBIT_ABT);
00084 
00085         /*
00086          *  メモリ領域の設定
00087          *
00088          *  ローカルメモリのVMEバス上での先頭アドレスとサイズ(16MB)
00089          *  し,アクセスを受け付けるように設定する.また,VMEバスから
00090          *  拡張アドレスアクセスを受け付けるようにに設定する.
00091          */
00092         dga_write((VP) TADR_DGA_CSR4, (UW) board_addr | 0x00ff);
00093         dga_write((VP) TADR_DGA_CSR5, 0x0000012fu);
00094 
00095         /*
00096          *  インタフェースレジスタ(IFR)の設定
00097          *
00098          *  インタフェースレジスタのベースアドレスを設定する.また,イ
00099          *  ンタフェースレジスタ0のサービスリクエストフラグをクリア.
00100          *  インタフェースレジスタ3にボードのID番号を設定.
00101          */
00102         dga_write((VP) TADR_DGA_CSR3, (board_id << 4) | 0x3);
00103         dga_write((VP) TADR_DGA_IFR0, 0x80000000u);
00104         dga_write((VP) TADR_DGA_IFR3, board_id);
00105 
00106         /*
00107          *  ラウンドロビンモードに設定(マルチプロセッサ対応)
00108          */
00109         dga_write((VP) TADR_DGA_CSR1, (dga_read((VP) TADR_DGA_CSR1)
00110                         & 0xffeffcff) | (1u << 20) | ((board_id % 4) << 8));
00111 }

関数の呼び出しグラフ:

void sys_putc ( char  c  ) 

sys_config.c126 行で定義されています。

参照先 dve68k_putc().

参照元 syslog_terminate()vwri_log().

00127 {
00128         if (c == '\n') {
00129                 dve68k_putc('\r');
00130         }
00131         dve68k_putc(c);
00132 }

関数の呼び出しグラフ:


変数

sys_config.c51 行で定義されています。

参照元 sys_initialize().

sys_config.c50 行で定義されています。

参照元 sys_initialize().


Copyright © 2006 by TAKAGI Nobuhisa.
Copyright © 2006 by Kijineko Inc..
このページは Mon Dec 18 17:19:13 2006 に Doxygen によって生成されました。
データ入力からプログラム開発まで!様々なスキルを持ったメンバーが登録しています【@SOHO】