Kernel: Remove reduntant kernel/user signal stacks.
Due to the changes in signal handling m_kernel_stack_for_signal_handler_region and m_signal_stack_user_region are no longer necessary, and so, have been removed. I've also removed the similarly reduntant m_tss_to_resume_kernel.
This commit is contained in:
parent
dfb538a413
commit
e529042895
Notes:
sideshowbarker
2024-07-19 12:10:56 +09:00
Author: https://github.com/DrewStratford Commit: https://github.com/SerenityOS/serenity/commit/e529042895f Pull-request: https://github.com/SerenityOS/serenity/pull/535
4 changed files with 1 additions and 10 deletions
Kernel
|
@ -139,7 +139,7 @@ static void dump(const DumpType& regs)
|
|||
kprintf(" pc=%04x:%08x ds=%04x es=%04x fs=%04x gs=%04x\n", regs.cs, regs.eip, regs.ds, regs.es, regs.fs, regs.gs);
|
||||
kprintf(" stk=%04x:%08x\n", ss, esp);
|
||||
if (current)
|
||||
kprintf("kstk=%04x:%08x, base=%08x, sigbase=%08x\n", current->tss().ss0, current->tss().esp0, current->kernel_stack_base(), current->kernel_stack_for_signal_handler_base());
|
||||
kprintf("kstk=%04x:%08x, base=%08x\n", current->tss().ss0, current->tss().esp0, current->kernel_stack_base());
|
||||
kprintf("eax=%08x ebx=%08x ecx=%08x edx=%08x\n", regs.eax, regs.ebx, regs.ecx, regs.edx);
|
||||
kprintf("ebp=%08x esp=%08x esi=%08x edi=%08x\n", regs.ebp, esp, regs.esi, regs.edi);
|
||||
|
||||
|
|
|
@ -473,8 +473,6 @@ int Process::do_exec(String path, Vector<String> arguments, Vector<String> envir
|
|||
if (metadata.is_setgid())
|
||||
m_egid = metadata.gid;
|
||||
|
||||
current->m_kernel_stack_for_signal_handler_region = nullptr;
|
||||
current->m_signal_stack_user_region = nullptr;
|
||||
current->set_default_signal_dispositions();
|
||||
current->m_signal_mask = 0;
|
||||
current->m_pending_signals = 0;
|
||||
|
|
|
@ -124,9 +124,6 @@ Thread::~Thread()
|
|||
|
||||
if (m_kernel_stack_region)
|
||||
m_process.deallocate_region(*m_kernel_stack_region);
|
||||
|
||||
if (m_kernel_stack_for_signal_handler_region)
|
||||
m_process.deallocate_region(*m_kernel_stack_for_signal_handler_region);
|
||||
}
|
||||
|
||||
void Thread::unblock()
|
||||
|
|
|
@ -281,7 +281,6 @@ public:
|
|||
|
||||
u32 kernel_stack_base() const { return m_kernel_stack_base; }
|
||||
u32 kernel_stack_top() const { return m_kernel_stack_top; }
|
||||
u32 kernel_stack_for_signal_handler_base() const { return m_kernel_stack_for_signal_handler_region ? m_kernel_stack_for_signal_handler_region->vaddr().get() : 0; }
|
||||
|
||||
void set_selector(u16 s) { m_far_ptr.selector = s; }
|
||||
void set_state(State);
|
||||
|
@ -332,7 +331,6 @@ private:
|
|||
Process& m_process;
|
||||
int m_tid { -1 };
|
||||
TSS32 m_tss;
|
||||
OwnPtr<TSS32> m_tss_to_resume_kernel;
|
||||
FarPtr m_far_ptr;
|
||||
u32 m_ticks { 0 };
|
||||
u32 m_ticks_left { 0 };
|
||||
|
@ -343,10 +341,8 @@ private:
|
|||
u32 m_kernel_stack_top { 0 };
|
||||
RefPtr<Region> m_userspace_stack_region;
|
||||
RefPtr<Region> m_kernel_stack_region;
|
||||
RefPtr<Region> m_kernel_stack_for_signal_handler_region;
|
||||
VirtualAddress m_thread_specific_data;
|
||||
SignalActionData m_signal_action_data[32];
|
||||
Region* m_signal_stack_user_region { nullptr };
|
||||
IntrusiveList<Blocker, &Blocker::m_blocker_list_node> m_blockers;
|
||||
FPUState* m_fpu_state { nullptr };
|
||||
State m_state { Invalid };
|
||||
|
|
Loading…
Add table
Reference in a new issue