Skip to main content

Module load

Module load 

Source
Expand description

ELF loading logic

Authors: MarioS271

Re-exportsΒ§

use crate::lib::addr::VirtAddr; πŸ”’
use crate::mm::mm_error::MmResult; πŸ”’
use crate::mm::pmm::FRAME_SIZE; πŸ”’
use crate::mm::vmm::Vmm; πŸ”’
use crate::mm::vmm::address_space::AddressSpace; πŸ”’
use crate::mm::vmm::traits::VmmPaging; πŸ”’
use crate::mm::vmm::vma::VmaFlags; πŸ”’
use crate::sched::loader::defs::phdrs::ElfPhdr; πŸ”’
use crate::state::kstate::KSTATE; πŸ”’

FunctionsΒ§

copy_segment_data πŸ”’ ⚠
Copies an ELF segment into the process’s address space
map_phdrs_and_copy_elf
Map VMAs and pages according to the ELF phdrs and copy the ELF binary into the freshly mapped memory
setup_user_stack
Set up a stack for the user process