Kernel: Support 64-bit addresses for kernel thread stacks
This commit is contained in:
parent
c878054682
commit
6c6b778e2e
Notes:
sideshowbarker
2024-07-18 08:48:44 +09:00
Author: https://github.com/gunnarbeutner Commit: https://github.com/SerenityOS/serenity/commit/6c6b778e2e2 Pull-request: https://github.com/SerenityOS/serenity/pull/8795 Reviewed-by: https://github.com/Hendiadyoin1
2 changed files with 5 additions and 5 deletions
|
@ -122,7 +122,7 @@ Thread::Thread(NonnullRefPtr<Process> process, NonnullOwnPtr<Region> kernel_stac
|
|||
m_regs.cr3 = m_process->space().page_directory().cr3();
|
||||
|
||||
m_kernel_stack_base = m_kernel_stack_region->vaddr().get();
|
||||
m_kernel_stack_top = m_kernel_stack_region->vaddr().offset(default_kernel_stack_size).get() & 0xfffffff8u;
|
||||
m_kernel_stack_top = m_kernel_stack_region->vaddr().offset(default_kernel_stack_size).get() & ~(FlatPtr)0x7u;
|
||||
|
||||
if (m_process->is_kernel_process()) {
|
||||
#if ARCH(I386)
|
||||
|
|
|
@ -991,8 +991,8 @@ public:
|
|||
void set_ticks_left(u32 t) { m_ticks_left = t; }
|
||||
u32 ticks_left() const { return m_ticks_left; }
|
||||
|
||||
u32 kernel_stack_base() const { return m_kernel_stack_base; }
|
||||
u32 kernel_stack_top() const { return m_kernel_stack_top; }
|
||||
FlatPtr kernel_stack_base() const { return m_kernel_stack_base; }
|
||||
FlatPtr kernel_stack_top() const { return m_kernel_stack_top; }
|
||||
|
||||
void set_state(State, u8 = 0);
|
||||
|
||||
|
@ -1276,8 +1276,8 @@ private:
|
|||
u32 m_ticks_in_kernel { 0 };
|
||||
u32 m_pending_signals { 0 };
|
||||
u32 m_signal_mask { 0 };
|
||||
u32 m_kernel_stack_base { 0 };
|
||||
u32 m_kernel_stack_top { 0 };
|
||||
FlatPtr m_kernel_stack_base { 0 };
|
||||
FlatPtr m_kernel_stack_top { 0 };
|
||||
OwnPtr<Region> m_kernel_stack_region;
|
||||
VirtualAddress m_thread_specific_data;
|
||||
Optional<Range> m_thread_specific_range;
|
||||
|
|
Loading…
Add table
Reference in a new issue