From 23ce4f5afc66eb04a7aafc4f89685b8109b8d5c6 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 9 Oct 2017 21:39:32 -0400 Subject: loader: Various improvements for NSO/NRO loaders. --- src/core/hle/kernel/process.cpp | 6 +++--- src/core/hle/kernel/thread.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/core/hle/kernel') diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 2a80c2492..84ebdbc58 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp @@ -147,9 +147,9 @@ void Process::LoadModule(SharedPtr 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 { diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 736be50db..c01d08ebb 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -429,7 +429,7 @@ ResultVal> 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 -- cgit v1.2.3