911bb0e8a523a3c9917a145a3f2ecaa2d25c94f1
[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         "@define": {
42             "page_mnts": 4,
43             "vms_mnts": 1
44         },
45
46         "width": 32,
47         "granule": {
48             "page": "0x1000",
49             "1M": "0x100000",
50             "4M": "0x400000",
51             "huge": "0x400000",
52             "1G": "0x40000000"
53         },
54         "regions": [
55             {
56                 "name": "kstack_area",
57                 "start": "1@1M",
58                 "size": "3@1M",
59                 "stk_align": 16
60             },
61             {
62                 "name": "usr_exec",
63                 "start": "4@1M",
64                 "size": "512@1M"
65             },
66             {
67                 "name": "usr_mmap"
68             },
69             {
70                 "name": "usr_stack",
71                 "size": "64@page",
72                 "stk_align": 16
73             },
74             {
75                 "name": "kernel_exec",
76                 "start": "3@1G",
77                 "size": "16@4M",
78                 "block": "1@page"
79             },
80             {
81                 "$type": "list",
82                 "$range": "[1..*vms_mnts]",
83                 "name": "vms_mount_{index}",
84                 "size": "1@4M",
85                 "block": "1@huge"
86             },
87             {
88                 "$type": "list",
89                 "$range": "[1..*page_mnts]",
90                 "size": "1@page",
91                 "name": "pg_mount_{index}"
92             },
93             {
94                 "name": "vmap",
95                 "block": "1@huge"
96             },
97             {
98                 "name": "pd_ref",
99                 "start": "1023@4M",
100                 "size": "1@4M",
101                 "block": "1@huge"
102             }
103         ]
104     }
105 }