T306: Rename defined cap constants. Introduce CNode abstract type, let ARM_l1{/2...
authorMoritz Hoffmann <moritz.hoffmann@inf.ethz.ch>
Thu, 13 Oct 2016 12:39:24 +0000 (14:39 +0200)
committerMoritz Hoffmann <moritz.hoffmann@inf.ethz.ch>
Thu, 13 Oct 2016 12:42:28 +0000 (14:42 +0200)
Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

capabilities/caps.hl

index ebb2628..da3e1fe 100644 (file)
  * barrelfish_kpi/capabilities.h */
 
 /* Size of L2 CNode: L2 resolves 8 bits of Cap address space */
-define l2cn_size 16384;
+define objsize_l2cnode 16384;
 /* Size of DCB: */
-define dispatcher_size 10;
+define objsize_dispatcher 1024;
 /* Size of (x86_64) VNode: */
-define vnode_size 4096; /* BASE_PAGE_SIZE */
+define objsize_vnode 4096; /* BASE_PAGE_SIZE */
 /* Size of ARMv7 VNodes */
-define vnode_arm_l1_size 16384;
-define vnode_arm_l2_size 1024;
+define objsize_vnode_arm_l1 16384;
+define objsize_vnode_arm_l2 1024;
 /* size of a kernel control block */
-define kcb_size 16; /* OBJBITS_KCB */
+define objsize_kcb 65536; /* OBJSIZE_KCB */
 
 /**
     The capabilities of the whole system are listed thereafter.
@@ -78,7 +78,7 @@ cap Mapping abstract {
 
 cap VNode abstract {
     address genpaddr base;  /* Base address of VNode */
-    size { vnode_size };
+    size { objsize_vnode };
 };
 
 /** The following caps are similar to the previous one **/
@@ -86,18 +86,20 @@ cap VNode abstract {
 /* RAM memory object */
 cap RAM from PhysAddr from_self inherit Memory;
 
-cap L1CNode from RAM {
-    /* Level 1 CNode table, resizable */
+/* Abstract CNode, need to define size */
+cap CNode abstract {
     address lpaddr cnode;               /* Base address of CNode */
-    size gensize allocated_bytes;       /* Allocated size of L1 CNode in bytes */
     caprights rightsmask;               /* Cap access rights */
 };
 
-cap L2CNode from RAM {
-    /* Level 2 CNode table, resolves 8 bits of cap address */
-    address lpaddr cnode;               /* Base address of CNode */
-    size { l2cn_size };                 /* Size of L2 CNode in bytes (16kB) */
-    caprights rightsmask;               /* Cap access rights */
+/* Level 1 CNode table, resizable */
+cap L1CNode from RAM inherit CNode {
+    size gensize allocated_bytes;       /* Allocated size of L1 CNode in bytes */
+};
+
+/* Level 2 CNode table, resolves 8 bits of cap address */
+cap L2CNode from RAM inherit CNode {
+    size { objsize_l2cnode };                 /* Size of L2 CNode in bytes (16kB) */
 };
 
 cap FCNode {
@@ -135,7 +137,7 @@ cap Dispatcher from RAM {
     "struct dcb" dcb;       /* Pointer to kernel DCB */
 
     address { mem_to_phys(dcb) };
-    size_bits { dispatcher_size };
+    size { objsize_dispatcher };
 };
 
 cap EndPoint from Dispatcher {
@@ -215,19 +217,16 @@ cap VNode_x86_32_ptable_Mapping from VNode_x86_32_ptable inherit Mapping;
 
 /* ARM specific capabilities: */
 
-cap VNode_ARM_l1 from RAM {
-    /* L1 Page Table */
-
-    address genpaddr base;  /* Base address of VNode */
-    size { vnode_arm_l1_size };
+/* L1 Page Table */
+cap VNode_ARM_l1 from RAM inherit VNode {
+    size { objsize_vnode_arm_l1 };
 };
 
 cap VNode_ARM_l1_Mapping from VNode_ARM_l1 inherit Mapping;
 
-cap VNode_ARM_l2 from RAM {
-    /* L2 Page Table */
-    address genpaddr base;  /* Base address of VNode */
-    size { vnode_arm_l2_size };
+/* L2 Page Table */
+cap VNode_ARM_l2 from RAM inherit VNode {
+    size { objsize_vnode_arm_l2 };
 };
 
 cap VNode_ARM_l2_Mapping from VNode_ARM_l2 inherit Mapping;
@@ -305,7 +304,7 @@ cap KernelControlBlock from RAM {
 
     address { mem_to_phys(kcb) };
     /* base page size for now so we can map the kcb in boot driver */
-    size_bits { kcb_size };
+    size { objsize_kcb };
 };
 
 cap IPI is_always_copy {};