mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 11:55:12 +00:00
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
4 changed files with 1 additions and 10 deletions
|
@ -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(" 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);
|
kprintf(" stk=%04x:%08x\n", ss, esp);
|
||||||
if (current)
|
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("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);
|
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())
|
if (metadata.is_setgid())
|
||||||
m_egid = metadata.gid;
|
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->set_default_signal_dispositions();
|
||||||
current->m_signal_mask = 0;
|
current->m_signal_mask = 0;
|
||||||
current->m_pending_signals = 0;
|
current->m_pending_signals = 0;
|
||||||
|
|
|
@ -124,9 +124,6 @@ Thread::~Thread()
|
||||||
|
|
||||||
if (m_kernel_stack_region)
|
if (m_kernel_stack_region)
|
||||||
m_process.deallocate_region(*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()
|
void Thread::unblock()
|
||||||
|
|
|
@ -281,7 +281,6 @@ public:
|
||||||
|
|
||||||
u32 kernel_stack_base() const { return m_kernel_stack_base; }
|
u32 kernel_stack_base() const { return m_kernel_stack_base; }
|
||||||
u32 kernel_stack_top() const { return m_kernel_stack_top; }
|
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_selector(u16 s) { m_far_ptr.selector = s; }
|
||||||
void set_state(State);
|
void set_state(State);
|
||||||
|
@ -332,7 +331,6 @@ private:
|
||||||
Process& m_process;
|
Process& m_process;
|
||||||
int m_tid { -1 };
|
int m_tid { -1 };
|
||||||
TSS32 m_tss;
|
TSS32 m_tss;
|
||||||
OwnPtr<TSS32> m_tss_to_resume_kernel;
|
|
||||||
FarPtr m_far_ptr;
|
FarPtr m_far_ptr;
|
||||||
u32 m_ticks { 0 };
|
u32 m_ticks { 0 };
|
||||||
u32 m_ticks_left { 0 };
|
u32 m_ticks_left { 0 };
|
||||||
|
@ -343,10 +341,8 @@ private:
|
||||||
u32 m_kernel_stack_top { 0 };
|
u32 m_kernel_stack_top { 0 };
|
||||||
RefPtr<Region> m_userspace_stack_region;
|
RefPtr<Region> m_userspace_stack_region;
|
||||||
RefPtr<Region> m_kernel_stack_region;
|
RefPtr<Region> m_kernel_stack_region;
|
||||||
RefPtr<Region> m_kernel_stack_for_signal_handler_region;
|
|
||||||
VirtualAddress m_thread_specific_data;
|
VirtualAddress m_thread_specific_data;
|
||||||
SignalActionData m_signal_action_data[32];
|
SignalActionData m_signal_action_data[32];
|
||||||
Region* m_signal_stack_user_region { nullptr };
|
|
||||||
IntrusiveList<Blocker, &Blocker::m_blocker_list_node> m_blockers;
|
IntrusiveList<Blocker, &Blocker::m_blocker_list_node> m_blockers;
|
||||||
FPUState* m_fpu_state { nullptr };
|
FPUState* m_fpu_state { nullptr };
|
||||||
State m_state { Invalid };
|
State m_state { Invalid };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue