summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpurpasmart96 <purpasmart96@users.noreply.github.com>2014-11-08 03:53:18 +0100
committerpurpasmart96 <kanzoconfigz@hotmail.com>2014-11-19 00:57:25 +0100
commit66431bcedaf406e5d356da1aad8baf55e1cc9cb9 (patch)
tree1b7982ea71b69f54913ee6eb18c74d5b3bb4510e
parentMerge pull request #169 from archshift/autoplay (diff)
downloadyuzu-66431bcedaf406e5d356da1aad8baf55e1cc9cb9.tar
yuzu-66431bcedaf406e5d356da1aad8baf55e1cc9cb9.tar.gz
yuzu-66431bcedaf406e5d356da1aad8baf55e1cc9cb9.tar.bz2
yuzu-66431bcedaf406e5d356da1aad8baf55e1cc9cb9.tar.lz
yuzu-66431bcedaf406e5d356da1aad8baf55e1cc9cb9.tar.xz
yuzu-66431bcedaf406e5d356da1aad8baf55e1cc9cb9.tar.zst
yuzu-66431bcedaf406e5d356da1aad8baf55e1cc9cb9.zip
-rw-r--r--src/core/hle/kernel/shared_memory.h14
-rw-r--r--src/core/hle/svc.cpp4
2 files changed, 13 insertions, 5 deletions
diff --git a/src/core/hle/kernel/shared_memory.h b/src/core/hle/kernel/shared_memory.h
index 5312b8854..6204d8a45 100644
--- a/src/core/hle/kernel/shared_memory.h
+++ b/src/core/hle/kernel/shared_memory.h
@@ -12,11 +12,15 @@ namespace Kernel {
/// Permissions for mapped shared memory blocks
enum class MemoryPermission : u32 {
- None = 0,
- Read = (1u << 0),
- Write = (1u << 1),
- ReadWrite = (Read | Write),
- DontCare = (1u << 28)
+ None = 0,
+ Read = (1u << 0),
+ Write = (1u << 1),
+ ReadWrite = (Read | Write),
+ Execute = (1u << 2),
+ ReadExecute = (Read | Execute),
+ WriteExecute = (Write | Execute),
+ ReadWriteExecute = (Read | Write | Execute),
+ DontCare = (1u << 28)
};
/**
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 1eda36c53..2aa1303f6 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -62,6 +62,10 @@ Result MapMemoryBlock(Handle handle, u32 addr, u32 permissions, u32 other_permis
case Kernel::MemoryPermission::Read:
case Kernel::MemoryPermission::Write:
case Kernel::MemoryPermission::ReadWrite:
+ case Kernel::MemoryPermission::Execute:
+ case Kernel::MemoryPermission::ReadExecute:
+ case Kernel::MemoryPermission::WriteExecute:
+ case Kernel::MemoryPermission::ReadWriteExecute:
case Kernel::MemoryPermission::DontCare:
Kernel::MapSharedMemory(handle, addr, permissions_type,
static_cast<Kernel::MemoryPermission>(other_permissions));