cpu_config.h

#include <cpu_rename.h>
#include <cpu_insn.h>

cpu_config.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

データ構造

struct  task_context_block

マクロ定義

#define TBIT_TCB_PRIORITY   8
 プロセッサ依存モジュール(Nios2用)
#define TBIT_TCB_TSTAT   8
#define t_sense_lock   sense_lock
#define i_sense_lock   sense_lock
#define t_lock_cpu   lock_cpu
#define i_lock_cpu   lock_cpu
#define t_unlock_cpu   unlock_cpu
#define i_unlock_cpu   unlock_cpu
#define INTHDR_ENTRY(inthdr)   extern void inthdr(void);
#define INT_ENTRY(inthdr)   inthdr
#define EXCHDR_ENTRY(exchdr)   extern void exchdr(VP sp);
#define EXC_ENTRY(exchdr)   exchdr
#define SUPPORT_VXGET_TIM
#define TNUM_PORT   1
#define TNUM_SIOP   1
#define LOGTASK_PORTID   1

型定義

typedef task_context_block CTXB

関数

Inline BOOL sense_context ()
Inline BOOL sense_lock ()
Inline void lock_cpu ()
Inline void unlock_cpu ()
Inline VP init_tsk_lock ()
 タスクロックの初期化 戻り値はEXCCBのtsk_lock_ptrに登録される
Inline VP init_obj_lock ()
 オブジェクトロックの初期化 戻り値はEXCCBのobj_lock_ptrに登録される
void dispatch (void)
void exit_and_dispatch (void)
Inline void define_inh (INHNO inhno, FP inthdr)
Inline void define_exc (EXCNO excno, FP exchdr)
Inline BOOL exc_sense_context (VP p_excinf)
Inline BOOL exc_sense_lock (VP p_excinf)
void cpu_initialize (void)
void cpu_terminate (void)
void no_reg_interrupt (void)
void no_reg_exception (void)

変数

UW interrupt_count
FP int_handler_table [MAX_INT_NUM]
 プロセッサ依存モジュール(Nios2用)
UW int_bit_table [MAX_INT_NUM]
FP exc_handler_table []


マクロ定義

#define EXC_ENTRY exchdr   )     exchdr
 

cpu_config.h235 行で定義されています。

#define EXCHDR_ENTRY exchdr   )     extern void exchdr(VP sp);
 

cpu_config.h233 行で定義されています。

#define i_lock_cpu   lock_cpu
 

cpu_config.h112 行で定義されています。

参照元 kernel_exit().

#define i_sense_lock   sense_lock
 

cpu_config.h105 行で定義されています。

#define i_unlock_cpu   unlock_cpu
 

cpu_config.h114 行で定義されています。

#define INT_ENTRY inthdr   )     inthdr
 

cpu_config.h227 行で定義されています。

#define INTHDR_ENTRY inthdr   )     extern void inthdr(void);
 

cpu_config.h225 行で定義されています。

#define LOGTASK_PORTID   1
 

cpu_config.h293 行で定義されています。

#define SUPPORT_VXGET_TIM
 

cpu_config.h282 行で定義されています。

#define t_lock_cpu   lock_cpu
 

cpu_config.h111 行で定義されています。

参照元 kernel_exit().

#define t_sense_lock   sense_lock
 

cpu_config.h104 行で定義されています。

#define t_unlock_cpu   unlock_cpu
 

cpu_config.h113 行で定義されています。

#define TBIT_TCB_PRIORITY   8
 

プロセッサ依存モジュール(Nios2用)

cpu_config.h70 行で定義されています。

#define TBIT_TCB_TSTAT   8
 

cpu_config.h71 行で定義されています。

#define TNUM_PORT   1
 

cpu_config.h287 行で定義されています。

参照元 serial_cls_por()serial_ctl_por()serial_initialize()serial_opn_por()serial_rea_dat()serial_ref_por()serial_wri_dat().

#define TNUM_SIOP   1
 

cpu_config.h288 行で定義されています。

参照元 uart_initialize().


型定義

typedef struct task_context_block CTXB
 


関数

void cpu_initialize void   ) 
 

cpu_config.c68 行で定義されています。

参照先 int_bit_tableint_handler_tableMAX_INT_NUMno_reg_interrupt().

00069 {
00070     int i;
00071     
00072     /*
00073      * int_handler_table[],int_plevel_table[]の初期化
00074      * 未登録の割込み発生時にcpu_interrup()が呼び出されるように
00075      * no_reg_interrup()を登録する
00076      */
00077     for(i = 0; i < MAX_INT_NUM; i++){
00078         int_handler_table[i] = no_reg_interrupt;
00079         int_bit_table[i]  = 1 << i; /* ビットパターンの生成 */
00080     }
00081 
00082     /*
00083      *  CPU例外ハンドラテーブル
00084      */
00085     for(i = 0; i < MAX_EXC_NUM; i++){
00086         exc_handler_table[i] = no_reg_exception; 
00087     }
00088 }

関数の呼び出しグラフ:

void cpu_terminate void   ) 
 

cpu_config.c95 行で定義されています。

参照先 disint().

00096 {
00097     disint();
00098 }

関数の呼び出しグラフ:

Inline void define_exc EXCNO  excno,
FP  exchdr
 

cpu_config.h209 行で定義されています。

参照先 exc_handler_table.

00210 {
00211     exc_handler_table[excno] = exchdr;
00212 }

Inline void define_inh INHNO  inhno,
FP  inthdr
 

cpu_config.h199 行で定義されています。

参照先 int_handler_table.

00200 {
00201     int_handler_table[inhno] = inthdr;
00202 }

void dispatch void   ) 
 

Inline BOOL exc_sense_context VP  p_excinf  ) 
 

cpu_config.h245 行で定義されています。

参照先 interrupt_count.

00246 {
00247     return(interrupt_count > 1);
00248 }

Inline BOOL exc_sense_lock VP  p_excinf  ) 
 

cpu_config.h254 行で定義されています。

参照先 STATUS_PIE.

00255 {
00256     return((*(UW*)p_excinf & STATUS_PIE) == 0);
00257 }

void exit_and_dispatch void   ) 
 

Inline VP init_obj_lock  ) 
 

オブジェクトロックの初期化 戻り値はEXCCBのobj_lock_ptrに登録される

cpu_config.h144 行で定義されています。

参照先 mutex_init()OBJ_MUTEX.

00145 {
00146     mutex_init(OBJ_MUTEX, PRCID);   
00147     return((VP)OBJ_MUTEX);
00148 }

関数の呼び出しグラフ:

Inline VP init_tsk_lock  ) 
 

タスクロックの初期化 戻り値はEXCCBのtsk_lock_ptrに登録される

cpu_config.h133 行で定義されています。

参照先 mutex_init()TSK_MUTEX.

00134 {
00135     mutex_init(TSK_MUTEX, PRCID);   
00136     return((VP)TSK_MUTEX);
00137 }

関数の呼び出しグラフ:

Inline void lock_cpu  ) 
 

cpu_config.h117 行で定義されています。

参照先 disint().

00118 {
00119     disint();
00120 }

関数の呼び出しグラフ:

void no_reg_exception void   ) 
 

cpu_config.c131 行で定義されています。

参照先 LOG_EMERGsyslog().

00132 {
00133     syslog(LOG_EMERG, "Unregisted Exception Occur!");
00134     while(1);
00135 }

関数の呼び出しグラフ:

void no_reg_interrupt void   ) 
 

cpu_config.c121 行で定義されています。

参照先 LOG_EMERGsyslog().

参照元 cpu_initialize().

00122 {
00123     syslog(LOG_EMERG, "Unregisted Interrupt Occur!");
00124     while(1);
00125 }

関数の呼び出しグラフ:

Inline BOOL sense_context  ) 
 

cpu_config.h93 行で定義されています。

参照先 interrupt_count.

参照元 kernel_exit().

00094 {
00095     return(interrupt_count > 0);
00096 }

Inline BOOL sense_lock  ) 
 

cpu_config.h99 行で定義されています。

参照先 current_status()STATUS_PIE.

参照元 kernel_exit().

00100 {
00101     return((current_status() & STATUS_PIE) == 0);
00102 }

関数の呼び出しグラフ:

Inline void unlock_cpu  ) 
 

cpu_config.h123 行で定義されています。

参照先 enaint().

00124 {
00125     enaint();
00126 }

関数の呼び出しグラフ:


変数

FP exc_handler_table[]
 

cpu_config.c56 行で定義されています。

UW int_bit_table[MAX_INT_NUM]
 

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

参照元 cpu_initialize()int_handler_call().

FP int_handler_table[MAX_INT_NUM]
 

プロセッサ依存モジュール(Nios2用)

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

UW interrupt_count
 

cpu_config.c62 行で定義されています。


Copyright © 2006 by TAKAGI Nobuhisa.
このページは Mon Apr 3 23:49:14 2006 に Doxygen によって生成されました。