loader: Various improvements for NSO/NRO loaders.
This commit is contained in:
parent
33ea53094c
commit
23ce4f5afc
8 changed files with 40 additions and 58 deletions
|
@ -147,9 +147,9 @@ void Process::LoadModule(SharedPtr<CodeSet> module_, VAddr base_addr) {
|
|||
};
|
||||
|
||||
// Map CodeSet segments
|
||||
MapSegment(module_->code, VMAPermission::ReadExecute, MemoryState::Code);
|
||||
MapSegment(module_->rodata, VMAPermission::Read, MemoryState::Code);
|
||||
MapSegment(module_->data, VMAPermission::ReadWrite, MemoryState::Private);
|
||||
MapSegment(module_->code, VMAPermission::ReadWrite, MemoryState::Private);
|
||||
MapSegment(module_->rodata, VMAPermission::Read, MemoryState::Static);
|
||||
MapSegment(module_->data, VMAPermission::ReadWrite, MemoryState::Static);
|
||||
}
|
||||
|
||||
VAddr Process::GetLinearHeapAreaAddress() const {
|
||||
|
|
|
@ -429,7 +429,7 @@ ResultVal<SharedPtr<Thread>> Thread::Create(std::string name, VAddr entry_point,
|
|||
// Map the page to the current process' address space.
|
||||
// TODO(Subv): Find the correct MemoryState for this region.
|
||||
vm_manager.MapMemoryBlock(Memory::TLS_AREA_VADDR + available_page * Memory::PAGE_SIZE,
|
||||
linheap_memory, offset, Memory::PAGE_SIZE, MemoryState::Private);
|
||||
linheap_memory, offset, Memory::PAGE_SIZE, MemoryState::Static);
|
||||
}
|
||||
|
||||
// Mark the slot as used
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue