source: ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_check.trb@ 386

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

modify svn:mimetype of files

  • Property svn:executable set to *
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/plain; charset=utf-8
File size: 1.5 KB
Line 
1# -*- coding: utf-8 -*-
2#
3# パス3の生成スクリプトのチップ依存部(BCM2837用)
4#
5IncludeTrb("arm64_gcc/common/core_check.trb")
6
7#
8# 割込みハンドラテーブルに関するチェック
9#
10# DEF_INHで登録した割込みハンドラのみチェックする.逆に言うと,コンフィ
11# ギュレータで生成した割込みハンドラや,default_int_handlerのチェックは
12# 行わない.
13#
14inhinib_entry = SYMBOL("_kernel_inhinib_entry")
15$cfgData[:DEF_INH].each do |key, params|
16 inthdr = PEEK(inhinib_entry, $sizeof_FP)
17
18 # 割込みハンドラの先頭番地のチェック
19 if (inthdr & ($CHECK_FUNC_ALIGN - 1)) != 0
20 error_wrong_id("E_PAR", params, :inthdr, :inhno, "not aligned")
21 end
22 if $CHECK_FUNC_NONNULL && inthdr == 0
23 error_wrong_id("E_PAR", params, :inthdr, :inhno, "null")
24 end
25
26 inhinib_entry += $sizeof_FP
27end
28
29#
30# CPU例外ハンドラテーブルに関するチェック
31#
32# DEF_EXCで登録したCPU例外ハンドラのみチェックする.逆に言うと,
33# default_exc_handlerのチェックは行わない.
34#
35excinib_entry = SYMBOL("_kernel_excinib_entry")
36$cfgData[:DEF_EXC].each do |key, params|
37 exchdr = PEEK(excinib_entry, $sizeof_FP)
38
39 # CPU例外ハンドラの先頭番地のチェック
40 if (exchdr & ($CHECK_FUNC_ALIGN - 1)) != 0
41 error_wrong_id("E_PAR", params, :exchdr, :excno, "not aligned")
42 end
43 if $CHECK_FUNC_NONNULL && exchdr == 0
44 error_wrong_id("E_PAR", params, :exchdr, :excno, "null")
45 end
46
47 excinib_entry += $sizeof_FP
48end
Note: See TracBrowser for help on using the repository browser.