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.h の 235 行で定義されています。

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

cpu_config.h の 233 行で定義されています。

#define i_lock_cpu   lock_cpu
 

cpu_config.h の 112 行で定義されています。

参照元 kernel_exit().

#define i_sense_lock   sense_lock
 

cpu_config.h の 105 行で定義されています。

#define i_unlock_cpu   unlock_cpu
 

cpu_config.h の 114 行で定義されています。

#define INT_ENTRY (  inthdr   )     inthdr
 

cpu_config.h の 227 行で定義されています。

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

cpu_config.h の 225 行で定義されています。

#define LOGTASK_PORTID   1
 

cpu_config.h の 293 行で定義されています。

#define SUPPORT_VXGET_TIM
 

cpu_config.h の 282 行で定義されています。

#define t_lock_cpu   lock_cpu
 

cpu_config.h の 111 行で定義されています。

参照元 kernel_exit().

#define t_sense_lock   sense_lock
 

cpu_config.h の 104 行で定義されています。

#define t_unlock_cpu   unlock_cpu
 

cpu_config.h の 113 行で定義されています。

#define TBIT_TCB_PRIORITY   8
 

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

cpu_config.h の 70 行で定義されています。

#define TBIT_TCB_TSTAT   8
 

cpu_config.h の 71 行で定義されています。

#define TNUM_PORT   1
 

cpu_config.h の 287 行で定義されています。

参照元 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.h の 288 行で定義されています。

参照元 uart_initialize().


型定義

typedef struct task_context_block CTXB
 


関数

void cpu_initialize (  void   ) 
 

cpu_config.c の 68 行で定義されています。

参照先 int_bit_table・int_handler_table・MAX_INT_NUM・no_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.c の 95 行で定義されています。

参照先 disint().

00096 {
00097     disint();
00098 }

関数の呼び出しグラフ:

Inline void define_exc (  EXCNO  excno,
FP  exchdr
) 
 

cpu_config.h の 209 行で定義されています。

参照先 exc_handler_table.

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

Inline void define_inh (  INHNO  inhno,
FP  inthdr
) 
 

cpu_config.h の 199 行で定義されています。

参照先 int_handler_table.

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

void dispatch (  void   ) 
 

Inline BOOL exc_sense_context (  VP  p_excinf  ) 
 

cpu_config.h の 245 行で定義されています。

参照先 interrupt_count.

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

Inline BOOL exc_sense_lock (  VP  p_excinf  ) 
 

cpu_config.h の 254 行で定義されています。

参照先 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.h の 144 行で定義されています。

参照先 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.h の 133 行で定義されています。

参照先 mutex_init()・TSK_MUTEX.

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

関数の呼び出しグラフ:

Inline void lock_cpu (   ) 
 

cpu_config.h の 117 行で定義されています。

参照先 disint().

00118 {
00119     disint();
00120 }

関数の呼び出しグラフ:

void no_reg_exception (  void   ) 
 

cpu_config.c の 131 行で定義されています。

参照先 LOG_EMERG・syslog().

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

関数の呼び出しグラフ:

void no_reg_interrupt (  void   ) 
 

cpu_config.c の 121 行で定義されています。

参照先 LOG_EMERG・syslog().

参照元 cpu_initialize().

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

関数の呼び出しグラフ:

Inline BOOL sense_context (   ) 
 

cpu_config.h の 93 行で定義されています。

参照先 interrupt_count.

参照元 kernel_exit().

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

Inline BOOL sense_lock (   ) 
 

cpu_config.h の 99 行で定義されています。

参照先 current_status()・STATUS_PIE.

参照元 kernel_exit().

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

関数の呼び出しグラフ:

Inline void unlock_cpu (   ) 
 

cpu_config.h の 123 行で定義されています。

参照先 enaint().

00124 {
00125     enaint();
00126 }

関数の呼び出しグラフ:


変数

FP exc_handler_table[]
 

cpu_config.c の 56 行で定義されています。

UW int_bit_table[MAX_INT_NUM]
 

cpu_config.c の 51 行で定義されています。

参照元 cpu_initialize()・int_handler_call().

FP int_handler_table[MAX_INT_NUM]
 

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

cpu_config.c の 50 行で定義されています。

UW interrupt_count
 

cpu_config.c の 62 行で定義されています。


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