📄 sys_config.h
字号:
/* * TOPPERS/JSP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * Copyright (C) 2001-2004 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プロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も * 崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 * 儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ * * @(#) $Id: sys_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $ *//* * タ〖ゲットシステム巴赂モジュ〖ル∈MPC860T TB6102S脱∷ * カ〖ネル柒婶で蝗脱する年盗 * デ〖タ房、マクロ、簇眶のプロトタイプ离咐 * * このインクル〖ドファイルは·t_config.h のみからインクル〖ドされるˉ * 戮のファイルから木儡インクル〖ドしてはならないˉ */#ifndef _SYS_CONFIG_H_#define _SYS_CONFIG_H_/* * ユ〖ザ〖年盗攫鼠 */#include <user_config.h>/* * カ〖ネルの柒婶急侍叹のリネ〖ム */#include <sys_rename.h>/* * タ〖ゲットシステムのハ〖ドウェア获富の年盗 */#include <tb6102s.h>#include <mpc860t.h>/* * 弹瓢メッセ〖ジのタ〖ゲットシステム叹 */#define TARGET_NAME "TANBAC TB6102S CompactPCI CPU Board"/* * 腮警箕粗略ちのための年盗 */#ifdef DOWNLOAD_TO_RAM /* デバッグ脱 */#define SIL_DLY_TIM1 1425#define SIL_DLY_TIM2 350#else /* DOWNLOAD_TO_RAM */ /* ROM步 */#define SIL_DLY_TIM1 3445#define SIL_DLY_TIM2 867#endif /* DOWNLOAD_TO_RAM */#ifndef _MACRO_ONLY/* * タ〖ゲットシステム巴赂の介袋步 */extern void sys_initialize(void);/* * タ〖ゲットシステムの姜位 * * システムを姜位する箕に蝗うˉ * ROMモニタ】GDB STUB钙叫しは踏悸刘 */extern void sys_exit(void);/* * タ〖ゲットシステムの矢机叫蜗 * * システムの你レベルの矢机叫蜗ル〖チンˉ * ROMモニタ】GDB STUB钙叫しは踏悸刘 */extern void sys_putc(char c) throw();#endif /* _MACRO_ONLY *//* * CPMへの充哈み妥滇のクリア * CPM充哈みインサ〖ビスレジスタCISRの澈碰ビットに1をセットすると * クリアされる。 */#define CLEAR_IRQ_TO_ICU(device) \ mpc860_wrw_mem(CISR, CISR_BIT(device)) /* * 判峡されていないSIU充哈みにおける苞眶肋年 * 介檬の充哈みと驴脚充哈みで、spの艰り叫し数が佰なる */#define SET_NO_REG_SIU_INTERRUPT_ARG_FROM_TASK \ lwz r4, 0(sp) /* 充哈みスタックからspを牲傅 */#define SET_NO_REG_SIU_INTERRUPT_ARG_FROM_INT \ addi r4, sp, 8 /* sp+8 *//* * 判峡されていないCPM充哈みにおける苞眶肋年 * 介檬の充哈みと驴脚充哈みで、spの艰り叫し数が佰なる */#define SET_NO_REG_CPM_INTERRUPT_ARG_FROM_TASK \ lwz r4, 8(sp) /* 充哈みスタックからspを牲傅 */#define SET_NO_REG_CPM_INTERRUPT_ARG_FROM_INT \ addi r4, sp, 16 /* sp+16 */#ifndef _MACRO_ONLY/* * 判峡されていない充哈み券栏箕のログ叫蜗 * マクロPROC_ICUの面で钙び叫される。 * 簇眶叹や苞眶の房はプロセッサ髓に疯めて紊い。 * * MPC860では充哈みコントロ〖ラがカスケ〖ド儡鲁されているため、 * 称充哈みコントロ〖ラに漓脱の簇眶を脱罢した。 * *//* SIU充哈み∈CPM充哈み笆嘲∷ */extern void no_reg_SIU_interrupt(INHNO intno, UW *sp);/* CPM充哈み */extern void no_reg_CPM_interrupt(INHNO intno, UW *sp);#endif /* _MACRO_ONLY */#define EXCEPTION_VECTOR_START_SRC 0x10000100#define EXCEPTION_VECTOR_END_SRC 0x10002000#define EXCEPTION_VECTOR_START_DST 0x100/* -------------------------------------------------------------- *//* * PowerPC鼎奶婶とのインタ〖フェ〖スの年盗 *//* * MSRの介袋猛 */#define INIT_MSR 0/* * 充哈み借妄のICU巴赂婶尸 * 借妄柒推 * ˇ充哈み妥傍の冉侍 * ˇ充哈みマスクの肋年 * ˇ充哈み钓材 * ˇC咐胳ル〖チン钙び叫し * ˇ充哈み敦贿 * ˇ∈涩妥であれば∷充り哈み妥滇フラグのクリア * * 苞眶 * label¨ラベル急侍脱矢机误 * ∈剩眶舱疥でこのマクロを蝗脱できるようにするため∷ * * * MPC860の充哈みア〖キテクチャは * ˇシステムˇインタ〖フェ〖スˇユニットSIU * ˇ奶慨プロセッサモジュ〖ルCPM * の2超霖になっている * * MPC860ではシステムインタ〖フェ〖スユニットSIUの充哈みマスク * ∈SIU充哈みマスクレジスタSIMASK∷のみをカ〖ネルで瓷妄する。 * 奶慨プロセッサモジュ〖ルCPMの充哈みマスクの瓷妄はすべて * ハ〖ドウェアが乖っている。 * * CPM充哈みコントロ〖ラ∈ハ〖ドウェア∷の瓢侯 * 充哈みが券栏すると * ˇ充哈み瘦伪レジスタCIPRの澈碰ビットの澈碰ビットをセット * ˇ券栏した充哈みの庭黎刨を * ˇ充哈みマスクレジスタCIMR * ˇインサ〖ビスレジスタCISR * と孺秤してからSIUに奶梦 * コアがベクタレジスタCIVRのIACKビットをセットすると * ˇSIUへの充哈み妥滇をクリア * ˇベクタレジスタCIVRにベクタ戎规をセット * ˇベクタレジスタCIVRのIACKビットをクリア * ˇ充哈み瘦伪レジスタCIPRの澈碰ビットをクリア * ˇインサ〖ビスレジスタCISRの澈碰ビットをセット * 笆稿、これより布疤の充哈みをマスクする * ⅹCPMについてはソフトウェアによるマスク拎侯の涩妥なし * * CPM充哈みに簇しては、SIUのIPMに办崇して票じ猛を肋年する * * * レジスタ充り碰て¨ * SPRG1:导击ベクタテ〖ブルの黎片アドレスint_table * SPRG3:IPMテ〖ブルの黎片アドレスipm_table * r0¨猛0 * r3¨柒婶レジスタ挝拌の黎片アドレス * r4¨充哈みベクタ戎规∵4 * */#define _PROC_ICU(label) \ /* SIUの充哈み妥傍冉侍 */ \ lis r3, IMMR_UPPER_2BYTE; /* 柒婶レジスタ挝拌の黎片アドレス */ \ /* ベクタ戎规の粕み叫し */ \ /* SIVECレジスタには"ベクタ戎规∵4"が呈羌されている */ \ lbz r4, TADR_SIU_SIVEC(r3); /* r4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -