diff --git a/Kernel/Arch/aarch64/ThreadRegisters.h b/Kernel/Arch/aarch64/ThreadRegisters.h index a3fffaeaa7..2125f124f0 100644 --- a/Kernel/Arch/aarch64/ThreadRegisters.h +++ b/Kernel/Arch/aarch64/ThreadRegisters.h @@ -15,15 +15,17 @@ struct ThreadRegisters { u64 x[31]; u64 elr_el1; u64 sp_el0; + u64 ttbr0_el1; FlatPtr ip() const { return elr_el1; } void set_ip(FlatPtr value) { elr_el1 = value; } void set_sp(FlatPtr value) { sp_el0 = value; } - void set_initial_state(bool, Memory::AddressSpace&, FlatPtr kernel_stack_top) + void set_initial_state(bool, Memory::AddressSpace& space, FlatPtr kernel_stack_top) { set_sp(kernel_stack_top); + ttbr0_el1 = space.page_directory().ttbr0(); } void set_entry_function(FlatPtr entry_ip, FlatPtr entry_data)