Unifying the Lunaix's Physical Memory Model (#28)
[lunaix-os.git] / lunaix-os / scripts / templates / i386 / config.json
index 7a0a702b44f5356ed142e22836d79a537c13c386..b74d558506ddf42d67f429be3524be4fc0f7c034 100644 (file)
     },
     "sys_mmap": {
         "$type": "memory_map",
+        "@define": {
+            "page_mnts": 4,
+            "vms_mnts": 1
+        },
+
         "width": 32,
         "granule": {
             "page": "0x1000",
         },
         "regions": [
             {
-                "name": "kernel_stack",
-                "start": "3@1M",
-                "size": "1@1M",
+                "name": "kstack_area",
+                "start": "1@1M",
+                "size": "3@1M",
                 "stk_align": 16
             },
             {
-                "name": "kernel_exec",
-                "start": "3@1G",
-                "size": "16@4M"
+                "name": "usr_exec",
+                "start": "4@1M",
+                "size": "512@1M"
             },
             {
-                "name": "pd_mount",
-                "size": "1@4M"
+                "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..4]",
+                "$range": "[1..*page_mnts]",
                 "size": "1@page",
                 "name": "pg_mount_{index}"
             },
+            {
+                "name": "pg_mount_var"
+            },
             {
                 "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"
+                "size": "1@4M",
+                "block": "1@huge"
             }
         ]
     }