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

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

add target dependent files of ssp for rpi3

  • Property svn:executable set to *
  • Property svn:keywords set to Id
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ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯
20 if (inthdr & ($CHECK_FUNC_ALIGN - 1)) != 0
21 error_wrong_id("E_PAR", params, :inthdr, :inhno, "not aligned")
22 end
23 if $CHECK_FUNC_NONNULL && inthdr == 0
24 error_wrong_id("E_PAR", params, :inthdr, :inhno, "null")
25 end
26
27 inhinib_entry += $sizeof_FP
28end
29
30#
31# CPU例外ハンドラテーブルに関するチェック
32#
33# DEF_EXCで登録したCPU例外ハンドラのみチェックする.逆に言うと,
34# default_exc_handlerのチェックは行わない.
35#
36excinib_entry = SYMBOL("_kernel_excinib_entry")
37$cfgData[:DEF_EXC].each do |key, params|
38 exchdr = PEEK(excinib_entry, $sizeof_FP)
39
40 # CPU例外ハンドラのå…
41ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯
42 if (exchdr & ($CHECK_FUNC_ALIGN - 1)) != 0
43 error_wrong_id("E_PAR", params, :exchdr, :excno, "not aligned")
44 end
45 if $CHECK_FUNC_NONNULL && exchdr == 0
46 error_wrong_id("E_PAR", params, :exchdr, :excno, "null")
47 end
48
49 excinib_entry += $sizeof_FP
50end
Note: See TracBrowser for help on using the repository browser.