#include "kernel_impl.h"
#include "task.h"
#include "exception.h"
マクロ定義 | |
#define | LOG_XSNS_DPN_ENTER(p_excinf) |
#define | LOG_XSNS_DPN_LEAVE(state) |
#define | LOG_XSNS_XPN_ENTER(p_excinf) |
#define | LOG_XSNS_XPN_LEAVE(state) |
関数 | |
void | initialize_exception (void) |
bool_t | xsns_dpn (void *p_excinf) |
bool_t | xsns_xpn (void *p_excinf) |
#define LOG_XSNS_DPN_ENTER | ( | p_excinf | ) |
#define LOG_XSNS_DPN_LEAVE | ( | state | ) |
#define LOG_XSNS_XPN_ENTER | ( | p_excinf | ) |
#define LOG_XSNS_XPN_LEAVE | ( | state | ) |
void initialize_exception | ( | void | ) |
exception.c の 77 行で定義されています。
参照先 cpu_exception_handler_initialization_block::exc_entry, excinib_table, cpu_exception_handler_initialization_block::excno, tnum_excno, と x_define_exc().
00078 { 00079 uint_t i; 00080 const EXCINIB *p_excinib; 00081 00082 for (p_excinib = excinib_table, i = 0; i < tnum_excno; p_excinib++, i++) { 00083 x_define_exc(p_excinib->excno, p_excinib->exc_entry); 00084 } 00085 }
bool_t xsns_dpn | ( | void * | p_excinf | ) |
exception.c の 103 行で定義されています。
参照先 disdsp, exc_sense_intmask(), LOG_XSNS_DPN_ENTER, と LOG_XSNS_DPN_LEAVE.
00104 { 00105 bool_t state; 00106 00107 LOG_XSNS_DPN_ENTER(p_excinf); 00108 state = (exc_sense_intmask(p_excinf) && !disdsp) ? false : true; 00109 LOG_XSNS_DPN_LEAVE(state); 00110 return(state); 00111 }
bool_t xsns_xpn | ( | void * | p_excinf | ) |
exception.c の 125 行で定義されています。
参照先 exc_sense_unlock(), LOG_XSNS_XPN_ENTER, LOG_XSNS_XPN_LEAVE, NULL, と p_runtsk.
00126 { 00127 bool_t state; 00128 00129 LOG_XSNS_XPN_ENTER(p_excinf); 00130 state = (exc_sense_unlock(p_excinf) 00131 && p_runtsk != NULL && p_runtsk->enatex) ? false : true; 00132 LOG_XSNS_XPN_LEAVE(state); 00133 return(state); 00134 }
Copyright © 2008 by Kijineko Inc.