diff --git a/Kernel/Arch/aarch64/ASM_wrapper.h b/Kernel/Arch/aarch64/ASM_wrapper.h index 0b11c88e4c..ccf207c1bc 100644 --- a/Kernel/Arch/aarch64/ASM_wrapper.h +++ b/Kernel/Arch/aarch64/ASM_wrapper.h @@ -24,6 +24,14 @@ inline void set_ttbr0_el1(FlatPtr ttbr0_el1) asm("msr ttbr0_el1, %[value]" ::[value] "r"(ttbr0_el1)); } +inline FlatPtr get_ttbr0_el1() +{ + FlatPtr ttbr0_el1; + asm("mrs %[value], ttbr0_el1\n" + : [value] "=r"(ttbr0_el1)); + return ttbr0_el1; +} + inline void set_sp_el1(FlatPtr sp_el1) { asm("msr sp_el1, %[value]" ::[value] "r"(sp_el1));