diff --git a/libsel4utils/sel4_arch_include/aarch64/sel4utils/sel4_arch/cache.h b/libsel4utils/sel4_arch_include/aarch64/sel4utils/sel4_arch/cache.h
index 059aede..a277f99 100644
--- a/libsel4utils/sel4_arch_include/aarch64/sel4utils/sel4_arch/cache.h
+++ b/libsel4utils/sel4_arch_include/aarch64/sel4utils/sel4_arch/cache.h
@@ -15,21 +15,21 @@
 
 static inline int seL4_ARCH_PageDirectory_Clean_Data(seL4_CPtr root, seL4_Word start, seL4_Word end)
 {
-    return seL4_ARM_PageGlobalDirectory_Clean_Data(root, start, end);
+    return seL4_ARM_VSpace_Clean_Data(root, start, end);
 }
 
 static inline int seL4_ARCH_PageDirectory_Invalidate_Data(seL4_CPtr root, seL4_Word start, seL4_Word end)
 {
-    return seL4_ARM_PageGlobalDirectory_Invalidate_Data(root, start, end);
+    return seL4_ARM_VSpace_Invalidate_Data(root, start, end);
 }
 
 static inline int seL4_ARCH_PageDirectory_CleanInvalidate_Data(seL4_CPtr root, seL4_Word start, seL4_Word end)
 {
-    return seL4_ARM_PageGlobalDirectory_CleanInvalidate_Data(root, start, end);
+    return seL4_ARM_VSpace_CleanInvalidate_Data(root, start, end);
 }
 
 static inline int seL4_ARCH_PageDirectory_Unify_Instruction(seL4_CPtr root, seL4_Word start, seL4_Word end)
 {
-    return seL4_ARM_PageGlobalDirectory_Unify_Instruction(root, start, end);
+    return seL4_ARM_VSpace_Unify_Instruction(root, start, end);
 }
 
diff --git a/libsel4vka/sel4_arch_include/aarch64/vka/sel4_arch/object.h b/libsel4vka/sel4_arch_include/aarch64/vka/sel4_arch/object.h
index cb1dd8c..623db04 100644
--- a/libsel4vka/sel4_arch_include/aarch64/vka/sel4_arch/object.h
+++ b/libsel4vka/sel4_arch_include/aarch64/vka/sel4_arch/object.h
@@ -31,7 +31,11 @@
 
 static inline int vka_alloc_vspace_root(vka_t *vka, vka_object_t *result)
 {
-    return vka_alloc_page_global_directory(vka, result);
+    if (config_set(CONFIG_ARM_HYPERVISOR_SUPPORT) && config_set(CONFIG_ARM_PA_SIZE_BITS_40)) {
+        return vka_alloc_page_upper_directory(vka, result);
+    } else {
+        return vka_alloc_page_global_directory(vka, result);
+    }
 }
 
 /*
