diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/arch/mmu.h | 3 | ||||
-rw-r--r-- | include/arch/ops.h | 7 | ||||
-rw-r--r-- | include/kernel/vm.h | 1 |
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 |