Kernel: you can now ask process if it is userspace process
This commit is contained in:
parent
9eb72f4392
commit
3784da0d18
|
@ -114,6 +114,7 @@ namespace Kernel
|
|||
|
||||
PageTable& page_table() { return m_page_table ? *m_page_table : PageTable::kernel(); }
|
||||
|
||||
bool is_userspace() const { return m_is_userspace; }
|
||||
const userspace_info_t& userspace_info() const { return m_userspace_info; }
|
||||
|
||||
private:
|
||||
|
@ -157,6 +158,7 @@ namespace Kernel
|
|||
|
||||
vaddr_t m_signal_handlers[_SIGMAX + 1] { };
|
||||
|
||||
bool m_is_userspace { false };
|
||||
userspace_info_t m_userspace_info;
|
||||
ExitStatus m_exit_status;
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@ namespace Kernel
|
|||
|
||||
process->load_elf_to_memory(*elf);
|
||||
|
||||
process->m_is_userspace = true;
|
||||
process->m_userspace_info.entry = elf->file_header_native().e_entry;
|
||||
|
||||
// NOTE: we clear the elf since we don't need the memory anymore
|
||||
|
@ -305,6 +306,7 @@ namespace Kernel
|
|||
forked->m_mapped_ranges = BAN::move(mapped_ranges);
|
||||
forked->m_fixed_width_allocators = BAN::move(fixed_width_allocators);
|
||||
forked->m_general_allocator = BAN::move(general_allocator);
|
||||
forked->m_is_userspace = m_is_userspace;
|
||||
forked->m_userspace_info = m_userspace_info;
|
||||
memcpy(forked->m_signal_handlers, m_signal_handlers, sizeof(m_signal_handlers));
|
||||
|
||||
|
|
Loading…
Reference in New Issue