source: rubycfg_ssp/trunk/prc_check.trb@ 284

Last change on this file since 284 was 284, checked in by nmir-saito, 7 years ago

trunkディレクトリの作成及びファイルの移動

File size: 1.6 KB
Line 
1# -*- coding: utf-8 -*-
2#
3# パス3の生成スクリプトのコア依存部(ARM用)
4#
5# $Id: core_check.trb 730 2016-04-03 02:04:52Z 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#
20inhinib_entry = SYMBOL("_kernel_inhinib_entry")
21$cfgData[:DEF_INH].each do |key, params|
22 inthdr = PEEK(inhinib_entry, $sizeof_FP)
23
24 # 割込みハンドラのå…
25ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯
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 && inthdr == 0
30 error_wrong_id("E_PAR", params, :inthdr, :inhno, "null")
31 end
32
33 inhinib_entry += $sizeof_FP
34end
35
36#
37# CPU例外ハンドラテーブルに関するチェック
38#
39# DEF_EXCで登録したCPU例外ハンドラのみチェックする.逆に言うと,
40# default_exc_handlerのチェックは行わない.
41#
42excinib_entry = SYMBOL("_kernel_excinib_entry")
43$cfgData[:DEF_EXC].each do |key, params|
44 exchdr = PEEK(excinib_entry, $sizeof_FP)
45
46 # CPU例外ハンドラのå…
47ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯
48 if (exchdr & ($CHECK_FUNC_ALIGN - 1)) != 0
49 error_wrong_id("E_PAR", params, :exchdr, :excno, "not aligned")
50 end
51 if $CHECK_FUNC_NONNULL && exchdr == 0
52 error_wrong_id("E_PAR", params, :exchdr, :excno, "null")
53 end
54
55 excinib_entry += $sizeof_FP
56end
Note: See TracBrowser for help on using the repository browser.