diff options
author | Mai M <mathew1800@gmail.com> | 2022-01-14 06:41:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-14 06:41:17 +0100 |
commit | 07e477f891c015b76cadb4421feabd78852a715b (patch) | |
tree | 35dbd81c5bcce0c85132531e9e21fd874b07e297 /src/core/hle/kernel/k_process.cpp | |
parent | Merge pull request #7690 from Morph1984/increase-file-limit-win (diff) | |
parent | hle: kernel: k_page_table: Update SetProcessMemoryPermission. (diff) | |
download | yuzu-07e477f891c015b76cadb4421feabd78852a715b.tar yuzu-07e477f891c015b76cadb4421feabd78852a715b.tar.gz yuzu-07e477f891c015b76cadb4421feabd78852a715b.tar.bz2 yuzu-07e477f891c015b76cadb4421feabd78852a715b.tar.lz yuzu-07e477f891c015b76cadb4421feabd78852a715b.tar.xz yuzu-07e477f891c015b76cadb4421feabd78852a715b.tar.zst yuzu-07e477f891c015b76cadb4421feabd78852a715b.zip |
Diffstat (limited to 'src/core/hle/kernel/k_process.cpp')
-rw-r--r-- | src/core/hle/kernel/k_process.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index bf98a51e2..cca405fed 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp @@ -509,7 +509,7 @@ VAddr KProcess::CreateTLSRegion() { const VAddr tls_page_addr{page_table ->AllocateAndMapMemory(1, PageSize, true, start, size / PageSize, KMemoryState::ThreadLocal, - KMemoryPermission::ReadAndWrite, + KMemoryPermission::UserReadWrite, tls_map_addr) .ValueOr(0)}; @@ -541,16 +541,16 @@ void KProcess::FreeTLSRegion(VAddr tls_address) { void KProcess::LoadModule(CodeSet code_set, VAddr base_addr) { const auto ReprotectSegment = [&](const CodeSet::Segment& segment, - KMemoryPermission permission) { + Svc::MemoryPermission permission) { page_table->SetProcessMemoryPermission(segment.addr + base_addr, segment.size, permission); }; kernel.System().Memory().WriteBlock(*this, base_addr, code_set.memory.data(), code_set.memory.size()); - ReprotectSegment(code_set.CodeSegment(), KMemoryPermission::ReadAndExecute); - ReprotectSegment(code_set.RODataSegment(), KMemoryPermission::Read); - ReprotectSegment(code_set.DataSegment(), KMemoryPermission::ReadAndWrite); + ReprotectSegment(code_set.CodeSegment(), Svc::MemoryPermission::ReadExecute); + ReprotectSegment(code_set.RODataSegment(), Svc::MemoryPermission::Read); + ReprotectSegment(code_set.DataSegment(), Svc::MemoryPermission::ReadWrite); } bool KProcess::IsSignaled() const { @@ -587,7 +587,7 @@ ResultCode KProcess::AllocateMainThreadStack(std::size_t stack_size) { CASCADE_RESULT(main_thread_stack_top, page_table->AllocateAndMapMemory( main_thread_stack_size / PageSize, PageSize, false, start, size / PageSize, - KMemoryState::Stack, KMemoryPermission::ReadAndWrite)); + KMemoryState::Stack, KMemoryPermission::UserReadWrite)); main_thread_stack_top += main_thread_stack_size; |