summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_shared_memory.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-04-30 23:53:22 +0200
committerbunnei <bunneidev@gmail.com>2021-05-06 01:40:52 +0200
commit0b27c721c994e10200893c3306cdab2184e5143c (patch)
tree4b5242fc2ed4f3ebfa34f0568c2b662c617d48ff /src/core/hle/kernel/k_shared_memory.h
parenthle: kernel: Rename Process to KProcess. (diff)
downloadyuzu-0b27c721c994e10200893c3306cdab2184e5143c.tar
yuzu-0b27c721c994e10200893c3306cdab2184e5143c.tar.gz
yuzu-0b27c721c994e10200893c3306cdab2184e5143c.tar.bz2
yuzu-0b27c721c994e10200893c3306cdab2184e5143c.tar.lz
yuzu-0b27c721c994e10200893c3306cdab2184e5143c.tar.xz
yuzu-0b27c721c994e10200893c3306cdab2184e5143c.tar.zst
yuzu-0b27c721c994e10200893c3306cdab2184e5143c.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_shared_memory.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/core/hle/kernel/k_shared_memory.h b/src/core/hle/kernel/k_shared_memory.h
index 2d315c916..28939c93c 100644
--- a/src/core/hle/kernel/k_shared_memory.h
+++ b/src/core/hle/kernel/k_shared_memory.h
@@ -29,8 +29,9 @@ public:
ResultCode Initialize(KernelCore& kernel_, Core::DeviceMemory& device_memory_,
KProcess* owner_process_, KPageLinkedList&& page_list_,
- KMemoryPermission owner_permission_, KMemoryPermission user_permission_,
- PAddr physical_address_, std::size_t size_, std::string name_);
+ Svc::MemoryPermission owner_permission_,
+ Svc::MemoryPermission user_permission_, PAddr physical_address_,
+ std::size_t size_, std::string name_);
/**
* Maps a shared memory block to an address in the target process' address space
@@ -40,7 +41,15 @@ public:
* @param permissions Memory block map permissions (specified by SVC field)
*/
ResultCode Map(KProcess& target_process, VAddr address, std::size_t size,
- KMemoryPermission permissions);
+ Svc::MemoryPermission permissions);
+
+ /**
+ * Unmaps a shared memory block from an address in the target process' address space
+ * @param target_process Process on which to unmap the memory block
+ * @param address Address in system memory to unmap shared memory block
+ * @param size Size of the shared memory block to unmap
+ */
+ ResultCode Unmap(KProcess& target_process, VAddr address, std::size_t size);
/**
* Gets a pointer to the shared memory block
@@ -71,8 +80,8 @@ private:
Core::DeviceMemory* device_memory;
KProcess* owner_process{};
KPageLinkedList page_list;
- KMemoryPermission owner_permission{};
- KMemoryPermission user_permission{};
+ Svc::MemoryPermission owner_permission{};
+ Svc::MemoryPermission user_permission{};
PAddr physical_address{};
std::size_t size{};
KResourceLimit* resource_limit{};