aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/arch/mmu.h3
-rw-r--r--include/arch/ops.h7
-rw-r--r--include/kernel/vm.h1
3 files changed, 11 insertions, 0 deletions
diff --git a/include/arch/mmu.h b/include/arch/mmu.h
index 616e6689..c761707f 100644
--- a/include/arch/mmu.h
+++ b/include/arch/mmu.h
@@ -47,6 +47,9 @@ __BEGIN_CDECLS
typedef struct arch_aspace arch_aspace_t;
#define ARCH_ASPACE_FLAG_KERNEL (1U<<0)
+#define ARCH_ASPACE_FLAG_BTI (1U<<1)
+
+#define ARCH_ASPACE_FLAG_ALL (ARCH_ASPACE_FLAG_KERNEL | ARCH_ASPACE_FLAG_BTI)
/* initialize per address space */
status_t arch_mmu_init_aspace(arch_aspace_t *aspace, vaddr_t base, size_t size, uint flags) __NONNULL((1));
diff --git a/include/arch/ops.h b/include/arch/ops.h
index 88503d18..99a11cd6 100644
--- a/include/arch/ops.h
+++ b/include/arch/ops.h
@@ -76,6 +76,13 @@ void arch_clear_pages_and_tags(vaddr_t addr, size_t size);
*/
bool arch_tagging_enabled(void);
+/**
+ * arch_bti_supported - indicates if branch target identification is supported.
+ *
+ * Return: true if BTI is supported, false if not
+ */
+bool arch_bti_supported(void);
+
__END_CDECLS
#endif // !ASSEMBLY
diff --git a/include/kernel/vm.h b/include/kernel/vm.h
index 316042bd..f869e436 100644
--- a/include/kernel/vm.h
+++ b/include/kernel/vm.h
@@ -297,6 +297,7 @@ typedef struct vmm_aspace {
} vmm_aspace_t;
#define VMM_ASPACE_FLAG_KERNEL 0x1
+#define VMM_ASPACE_FLAG_BTI 0x2
/**
* struct vmm_obj_slice - range of memory backed by a &struct vmm_obj