source: asp3_wo_tecs/trunk/arch/arm_gcc/common/core_check.trb@ 304

Last change on this file since 304 was 304, checked in by ertl-honda, 7 years ago

コンフィギュレータをruby版に変更

File size: 1.6 KB
Line 
1# -*- coding: utf-8 -*-
2#
3# パス3の生成スクリプトのコア依存部(ARM用)
4#
5# $Id: core_check.trb 572 2016-02-01 14:40:09Z ertl-hiro $
6#
7
8#
9# ターゲット非依存部のインクルード
10#
11IncludeTrb("kernel/kernel_check.trb")
12
13#
14# 割込みハンドラテーブルに関するチェック
15#
16# DEF_INHで登録した割込みハンドラのみチェックする.逆に言うと,コンフィ
17# ギュレータで生成した割込みハンドラや,default_int_handlerのチェックは
18# 行わない.
19#
20inhTable = SYMBOL("_kernel_inh_table")
21$cfgData[:DEF_INH].each do |id, params|
22 inthdr = PEEK(inhTable + params[:inhno] * $sizeof_FP, $sizeof_FP)
23
24 # 割込みハンドラのå…
25ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯ï¼»NGKI3056ï¼½
26 if (inthdr & ($CHECK_FUNC_ALIGN - 1)) != 0
27 error_wrong_id("E_PAR", params, :inthdr, :inhno, "not aligned")
28 end
29 if $CHECK_FUNC_NONNULL == 1 && inthdr == 0
30 error_wrong_id("E_PAR", params, :inthdr, :inhno, "null")
31 end
32end
33
34#
35# CPU例外ハンドラテーブルに関するチェック
36#
37# DEF_EXCで登録したCPU例外ハンドラのみチェックする.逆に言うと,
38# default_exc_handlerのチェックは行わない.
39#
40excTable = SYMBOL("_kernel_exc_table")
41$cfgData[:DEF_EXC].each do |id, params|
42 exchdr = PEEK(excTable + params[:excno] * $sizeof_FP, $sizeof_FP)
43
44 # CPU例外ハンドラのå…
45ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯ï¼»NGKI3135ï¼½
46 if (exchdr & ($CHECK_FUNC_ALIGN - 1)) != 0
47 error_wrong_id("E_PAR", params, :exchdr, :excno, "not aligned")
48 end
49 if $CHECK_FUNC_NONNULL == 1 && exchdr == 0
50 error_wrong_id("E_PAR", params, :exchdr, :excno, "null")
51 end
52end
Note: See TracBrowser for help on using the repository browser.