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:
Drew Stratford 2019-09-06 22:50:12 +12:00 committed by Andreas Kling
parent dfb538a413
commit e529042895
Notes: sideshowbarker 2024-07-19 12:10:56 +09:00
4 changed files with 1 additions and 10 deletions

View File

@ -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);

View File

@ -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;

View File

@ -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()

View File

@ -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 };