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 | #
|
---|
11 | IncludeTrb("kernel/kernel_check.trb")
|
---|
12 |
|
---|
13 | #
|
---|
14 | # å²è¾¼ã¿ãã³ãã©ãã¼ãã«ã«é¢ãããã§ãã¯
|
---|
15 | #
|
---|
16 | # DEF_INHã§ç»é²ããå²è¾¼ã¿ãã³ãã©ã®ã¿ãã§ãã¯ããï¼éã«è¨ãã¨ï¼ã³ã³ãã£
|
---|
17 | # ã®ã¥ã¬ã¼ã¿ã§çæããå²è¾¼ã¿ãã³ãã©ãï¼default_int_handlerã®ãã§ãã¯ã¯
|
---|
18 | # è¡ããªãï¼
|
---|
19 | #
|
---|
20 | inhinib_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
|
---|
34 | end
|
---|
35 |
|
---|
36 | #
|
---|
37 | # CPUä¾å¤ãã³ãã©ãã¼ãã«ã«é¢ãããã§ãã¯
|
---|
38 | #
|
---|
39 | # DEF_EXCã§ç»é²ããCPUä¾å¤ãã³ãã©ã®ã¿ãã§ãã¯ããï¼éã«è¨ãã¨ï¼
|
---|
40 | # default_exc_handlerã®ãã§ãã¯ã¯è¡ããªãï¼
|
---|
41 | #
|
---|
42 | excinib_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
|
---|
56 | end
|
---|