{
"exception": {
- "$type": "list",
- "$range": "[0..255]",
+ "@define": {
+ "syscall_iv": 33,
+ "iv_counts": 255
+ },
+ "ivdefs": {
+ "$type": "list",
+ "$range": "[0..*iv_counts]",
- "@foreach": {
- "@case_range_index": {
- "$range": "[8,10..14,17]",
-
- "@true": {
- "has_errcode": true
+ "iv": "{index}",
+
+ "@foreach": {
+ "errcode": {
+ "$type": "case_range_index",
+ "$range": "[8,10..14,17]",
+
+ "@true": {
+ "has_errcode": true
+ },
+ "@else": {
+ "has_errcode": false
+ }
},
- "@else": {
- "has_errcode": false
+ "dpl": {
+ "$type": "case_range_index",
+ "$range": "[*syscall_iv]",
+
+ "@true": {
+ "dpl": 3
+ },
+ "@else": {
+ "dpl": 0
+ }
}
}
}
+ },
+ "sys_mmap": {
+ "$type": "memory_map",
+ "@define": {
+ "page_mnts": 4,
+ "vms_mnts": 1
+ },
+
+ "width": 32,
+ "granule": {
+ "page": "0x1000",
+ "1M": "0x100000",
+ "4M": "0x400000",
+ "huge": "0x400000",
+ "1G": "0x40000000"
+ },
+ "regions": [
+ {
+ "name": "kstack_area",
+ "start": "1@1M",
+ "size": "3@1M",
+ "stk_align": 16
+ },
+ {
+ "name": "usr_exec",
+ "start": "4@1M",
+ "size": "512@1M"
+ },
+ {
+ "name": "usr_mmap"
+ },
+ {
+ "name": "usr_stack",
+ "size": "64@page",
+ "stk_align": 16
+ },
+ {
+ "name": "kernel_img",
+ "start": "3@1G",
+ "size": "16@4M",
+ "block": "1@page"
+ },
+ {
+ "$type": "list",
+ "$range": "[1..*page_mnts]",
+ "size": "1@page",
+ "name": "pg_mount_{index}"
+ },
+ {
+ "name": "vmap",
+ "block": "1@huge"
+ },
+ {
+ "$type": "list",
+ "$range": "[1..*vms_mnts]",
+ "name": "vms_mount_{index}",
+ "size": "1@4M",
+ "block": "1@huge"
+ },
+ {
+ "name": "pd_ref",
+ "start": "1023@4M",
+ "size": "1@4M",
+ "block": "1@huge"
+ }
+ ]
}
}
\ No newline at end of file