1 | # -*- coding: utf-8 -*-
|
---|
2 | #
|
---|
3 | # ãã¹3ã®çæã¹ã¯ãªããã®ãããä¾åé¨ï¼BCM2837ç¨ï¼
|
---|
4 | #
|
---|
5 | IncludeTrb("arm64_gcc/common/core_check.trb")
|
---|
6 |
|
---|
7 | #
|
---|
8 | # å²è¾¼ã¿ãã³ãã©ãã¼ãã«ã«é¢ãããã§ãã¯
|
---|
9 | #
|
---|
10 | # DEF_INHã§ç»é²ããå²è¾¼ã¿ãã³ãã©ã®ã¿ãã§ãã¯ããï¼éã«è¨ãã¨ï¼ã³ã³ãã£
|
---|
11 | # ã®ã¥ã¬ã¼ã¿ã§çæããå²è¾¼ã¿ãã³ãã©ãï¼default_int_handlerã®ãã§ãã¯ã¯
|
---|
12 | # è¡ããªãï¼
|
---|
13 | #
|
---|
14 | inhinib_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
|
---|
28 | end
|
---|
29 |
|
---|
30 | #
|
---|
31 | # CPUä¾å¤ãã³ãã©ãã¼ãã«ã«é¢ãããã§ãã¯
|
---|
32 | #
|
---|
33 | # DEF_EXCã§ç»é²ããCPUä¾å¤ãã³ãã©ã®ã¿ãã§ãã¯ããï¼éã«è¨ãã¨ï¼
|
---|
34 | # default_exc_handlerã®ãã§ãã¯ã¯è¡ããªãï¼
|
---|
35 | #
|
---|
36 | excinib_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
|
---|
50 | end
|
---|