From 1f30a5e4d98f473f1ac110892439039d9b4bb181 Mon Sep 17 00:00:00 2001 From: Timon Kruiper Date: Tue, 24 Jan 2023 19:29:29 +0100 Subject: [PATCH] Kernel/aarch64: Store and initialize TTBR0_EL1 in ThreadRegisters --- Kernel/Arch/aarch64/ThreadRegisters.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)