7a0a702b44f5356ed142e22836d79a537c13c386
[lunaix-os.git] / lunaix-os / scripts / templates / i386 / config.json
1 {
2     "exception": {
3         "@define": {
4             "syscall_iv": 33,
5             "iv_counts": 255
6         },
7         "ivdefs": {
8             "$type": "list",
9             "$range": "[0..*iv_counts]",
10
11             "iv": "{index}",
12     
13             "@foreach": {
14                 "errcode": {
15                     "$type": "case_range_index",
16                     "$range": "[8,10..14,17]",
17     
18                     "@true": {
19                         "has_errcode": true
20                     },
21                     "@else": {
22                         "has_errcode": false
23                     }
24                 },
25                 "dpl": {
26                     "$type": "case_range_index",
27                     "$range": "[*syscall_iv]",
28     
29                     "@true": {
30                         "dpl": 3
31                     },
32                     "@else": {
33                         "dpl": 0
34                     }
35                 }
36             }
37         }
38     },
39     "sys_mmap": {
40         "$type": "memory_map",
41         "width": 32,
42         "granule": {
43             "page": "0x1000",
44             "1M": "0x100000",
45             "4M": "0x400000",
46             "huge": "0x400000",
47             "1G": "0x40000000"
48         },
49         "regions": [
50             {
51                 "name": "kernel_stack",
52                 "start": "3@1M",
53                 "size": "1@1M",
54                 "stk_align": 16
55             },
56             {
57                 "name": "kernel_exec",
58                 "start": "3@1G",
59                 "size": "16@4M"
60             },
61             {
62                 "name": "pd_mount",
63                 "size": "1@4M"
64             },
65             {
66                 "$type": "list",
67                 "$range": "[1..4]",
68                 "size": "1@page",
69                 "name": "pg_mount_{index}"
70             },
71             {
72                 "name": "vmap",
73                 "block": "1@huge"
74             },
75             {
76                 "name": "pd_ref",
77                 "start": "1023@4M",
78                 "size": "1@4M"
79             }
80         ]
81     }
82 }