armv8: increase kcb size to accomodate vector table
authorLukas Humbel <lukas.humbel@inf.ethz.ch>
Fri, 15 Nov 2019 10:30:48 +0000 (11:30 +0100)
committerLukas Humbel <lukas.humbel@inf.ethz.ch>
Mon, 18 Nov 2019 11:53:02 +0000 (12:53 +0100)
Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

capabilities/caps.hl
kernel/include/kcb.h

index 5c7262c..ff65295 100644 (file)
@@ -32,7 +32,7 @@ define objsize_vnode 4096; /* BASE_PAGE_SIZE */
 define objsize_vnode_arm_l1 16384;
 define objsize_vnode_arm_l2 1024;
 /* size of a kernel control block */
-define objsize_kcb 65536; /* OBJSIZE_KCB */
+define objsize_kcb 131072; /* 128*1024, OBJSIZE_KCB */
 /* size of a mapping cap:
  * if mappings are zero-sized they mess up range queries */
 define objsize_mapping 1;
index 40d5a63..5244e94 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <kernel.h>
 #include <capabilities.h>
+#include <barrelfish_kpi/capbits.h>
 #include <irq.h>
 #include <mdb/mdb_tree.h>
 
@@ -75,6 +76,8 @@ struct kcb {
     // TODO: maybe add a shared part which can replace struct core_data?
 };
 
+STATIC_ASSERT(sizeof(struct kcb) <= OBJSIZE_KCB, "struct kcb too big");
+
 ///< The kernel control block
 extern struct kcb *kcb_current;
 ///< flag that indicates whether kcb scheduling should happen