⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mips3.h

📁 toppers操作系统源码
💻 H
字号:
/* *  TOPPERS/JSP Kernel *      Toyohashi Open Platform for Embedded Real-Time Systems/ *      Just Standard Profile Kernel *  *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory *                              Toyohashi Univ. of Technology, JAPAN *  Copyright (C) 2000-2003 by Industrial Technology Institute, *                              Miyagi Prefectural Government, JAPAN *  *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ */#ifndef _MIPS3_H_#define _MIPS3_H_#include <util.h>/* *  MIPS3 脱年盗 *//* CPUコアの柒婶レジスタの叹疚 */#define zero    $0      /* 撅箕ゼロ */#define at      $1      /* アセンブラのテンポラリ */#define v0      $2      /* 簇眶の提り猛 */#define v1      $3#define a0      $4      /* 簇眶の苞眶 */#define a1      $5#define a2      $6#define a3      $7#define t0      $8      /* テンポラリレジスタ tx (x=0-9)¨簇眶钙び叫しで撬蝉 */#define t1      $9#define t2      $10#define t3      $11#define t4      $12#define t5      $13#define t6      $14#define t7      $15#define s0      $16     /* sx (x=0-7) : 簇眶钙び叫しで稍恃なレジスタ */#define s1      $17#define s2      $18#define s3      $19#define s4      $20#define s5      $21#define s6      $22#define s7      $23#define t8      $24     /* テンポラリレジスタ tx (x=0-9)¨簇眶钙び叫しで撬蝉 */#define t9      $25#define k0      $26     /* OS脱に徒腆貉み */#define kt0     $26#define k1      $27#define kt1     $27#define gp      $28     /* 络拌恃眶挝拌のベ〖スアドレス */#define sp      $29     /* スタックポインタ */#define fp      $30     /* フレ〖ムポインタ *//* もしくは */#define s8      $30     /* s8 : 簇眶钙び叫しで稍恃なレジスタ */#define ra      $31     /* 簇眶からの提りアドレス *//* CP0の柒婶レジスタの叹疚 */#define Index           $0#define Random          $1#define EntryLo0        $2#define EntryLo1        $3#define Context         $4#define PageMask        $5#define Wired           $6#define Error           $7#define BadVAddr        $8#define Count           $9#define EntryHi         $10#define Compare         $11#define Status          $12#define Cause           $13#define EPC             $14#define PRId            $15#define Config          $16#define LLAddr          $17#define WatchLo         $18#define WatchHi         $19#define XContext        $20/* $21-$24 - 徒腆 */#define Performance     $25#define ParityErr       $26#define CacheErr        $27#define TagLo           $28#define TagHi           $29#define ErrorEPC        $30/* $31 - 徒腆 *//*  インラインアセンブラ柒で蝗う眷圭の年盗  */#define str_k0		"$26"#define str_Status	"$12"/*  ステ〖タスレジスタ簇犯  */#define SR_IE		BIT0			/*  IEビット  */#define SR_EXL		BIT1			/*  EXLビット  */#define SR_ERL		BIT2			/*  ERLビット  */#define SR_EXL_IE	(SR_EXL | SR_IE)	/*  EXL,IEビット  */#define SR_ERL_EXL	(SR_ERL | SR_EXL)	/*  ERL,EXLビット  */#define SR_ERL_EXL_IE	(SR_ERL_EXL | SR_IE)	/*  ERL,EXL,IEビット  */#define SR_IM		0xff00			/*  IMビットを艰り叫すマスク  */#define SR_UX		BIT5			/*  UXビット  */#define SR_SX		BIT6			/*  SXビット  */#define SR_KX		BIT7			/*  SXビット  */#define SR_DE		BIT16			/*  DEビット  */#define SR_SR		BIT20			/*  SRビット  */#define SR_BEV		BIT22			/*  BEVビット  */#define SR_RE		BIT25			/*  REビット  */#define SR_CU0		BIT28			/*  CU0ビット  */#define SR_CU1		BIT29			/*  CU1ビット  */#define SR_CU2		BIT30			/*  CU2ビット  */#define SR_XX		BIT31			/*  XXビット  *//*  付傍レジスタ簇犯  */#define Cause_IP0       BIT8    /*  IP0ビット  */#define Cause_IP1       BIT9    /*  IP1ビット  */#define Cause_IP2       BIT10   /*  IP2ビット  */#define Cause_IP3       BIT11   /*  IP3ビット  */#define Cause_IP4       BIT12   /*  IP4ビット  */#define Cause_IP5       BIT13   /*  IP5ビット  */#define Cause_IP6       BIT14   /*  IP6ビット  */#define Cause_IP7       BIT15   /*  IP7ビット  *//*  嘲婶充り哈みに滦するIPビットの侍叹  */#define Cause_Int0	Cause_IP2  /*  Int0妥滇ビット  */#define Cause_Int1	Cause_IP3  /*  Int1妥滇ビット  */#define Cause_Int2	Cause_IP4  /*  Int2妥滇ビット  */#define Cause_Int3	Cause_IP5  /*  Int3妥滇ビット  */#define Cause_Int4	Cause_IP6  /*  Int4妥滇ビット  *//*  付傍レジスタから付傍コ〖ドを艰り叫すマスク  */#define ExcCode_mask    0x7c/* 毋嘲コ〖ド */#define Int     0       /* 充り哈み毋嘲 */#define Mod     1       /* TLB恃构毋嘲 */#define TLBL    2       /* TLB稍办米毋嘲 (ロ〖ドまたは炭吾フェッチ) */#define TLBS    3       /* TLB稍办米毋嘲 (ストア) */#define AdEL    4       /* アドレスエラ〖毋嘲 (ロ〖ドまたは炭吾フェッチ) */#define AdES    5       /* アドレスエラ〖毋嘲 (ストア) */#define IBE     6       /* バスエラ〖毋嘲 (炭吾フェッチ) */#define DBE     7       /* バスエラ〖毋嘲 (デ〖タのロ〖ドまたはストア) */#define Sys     8       /* システムコ〖ル毋嘲 */#define Bp      9       /* ブレイクポイント毋嘲 */#define RI      10      /* 徒腆炭吾毋嘲 */#define CpU     11      /* コプロセッサ蝗脱稍材毋嘲 */#define Ov      12      /* 遍换オ〖バ〖フロ〖毋嘲 */#define Tr      13      /* トラップ毋嘲 *//* 14 - 徒腆 */#define FPE     15      /* 赦瓢井眶爬毋嘲 *//* 16-22 - 徒腆 */#define WATCH   23      /* ウォッチ毋嘲 *//* 24-31 - 徒腆 *//*  充哈み妥傍戎规  */#define INTNO_IP0               0#define INTNO_IP1               1#define INTNO_IP2               2#define INTNO_IP3               3#define INTNO_IP4               4#define INTNO_IP5               5#define INTNO_IP6               6#define INTNO_IP7               7/*  コアの充哈みの塑眶∈ソフトウェア充哈みを崔む∷ */#define TMAX_CORE_INTNO		8/* *  MIPS3コアのステ〖タスレジスタに肋年材墙な呵光充哈み钓材ビットパタ〖ン */#define MAX_IPM  0xff/* *  MIPS3コアに肋年する充哈みマスクのチェック */#define CHECK_CORE_IPM(ipm)  CHECK_PAR(0 <= (ipm) && (ipm) <= MAX_IPM)/* *  CPU毋嘲の硷梧眶 */#define TMAX_CORE_EXCNO	32u/* *  ログ叫蜗箕のスタック菇陇の年盗 *    cpu_config.hにおけるcpu_experr簇眶、cpu_support.Sを徊救のこと。 */#ifndef _MACRO_ONLYtypedef struct exc_stack {	/*  レジスタ凡の年盗  */	UW	sp;	UW	at;	UW	v0;	UW	v1;	UW	a0;	UW	a1;	UW	a2;	UW	a3;	UW	t0;	UW	t1;	UW	t2;	UW	t3;	UW	t4;	UW	t5;	UW	t6;	UW	t7;	UW	t8;	UW	t9;	UW	gp;	UW	fp;	UW	ra;	UW	CP0_Status;	UW	CP0_EPC;	UW	hi;	UW	lo;} EXCSTACK;#endif /* _MACRO_ONLY */#endif /* _MIPS3_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -