summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_transfer_memory.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-10-05 04:15:10 +0200
committerLiam <byteslice@airmail.cc>2023-10-05 04:32:27 +0200
commite797a917a927ee5f5a2400cf9e3742c8bc3ec800 (patch)
tree3a9d0a52f42f31a51ae95077324687a2a030404d /src/core/hle/kernel/k_transfer_memory.h
parentMerge pull request #11657 from liamwhite/new-codespell (diff)
downloadyuzu-e797a917a927ee5f5a2400cf9e3742c8bc3ec800.tar
yuzu-e797a917a927ee5f5a2400cf9e3742c8bc3ec800.tar.gz
yuzu-e797a917a927ee5f5a2400cf9e3742c8bc3ec800.tar.bz2
yuzu-e797a917a927ee5f5a2400cf9e3742c8bc3ec800.tar.lz
yuzu-e797a917a927ee5f5a2400cf9e3742c8bc3ec800.tar.xz
yuzu-e797a917a927ee5f5a2400cf9e3742c8bc3ec800.tar.zst
yuzu-e797a917a927ee5f5a2400cf9e3742c8bc3ec800.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_transfer_memory.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/hle/kernel/k_transfer_memory.h b/src/core/hle/kernel/k_transfer_memory.h
index 54f97ccb4..8a0b08761 100644
--- a/src/core/hle/kernel/k_transfer_memory.h
+++ b/src/core/hle/kernel/k_transfer_memory.h
@@ -3,6 +3,9 @@
#pragma once
+#include <optional>
+
+#include "core/hle/kernel/k_page_group.h"
#include "core/hle/kernel/slab_helpers.h"
#include "core/hle/kernel/svc_types.h"
#include "core/hle/result.h"
@@ -48,16 +51,19 @@ public:
return m_address;
}
- size_t GetSize() const {
- return m_is_initialized ? m_size : 0;
- }
+ size_t GetSize() const;
+
+ Result Map(KProcessAddress address, size_t size, Svc::MemoryPermission map_perm);
+ Result Unmap(KProcessAddress address, size_t size);
private:
+ std::optional<KPageGroup> m_page_group{};
KProcess* m_owner{};
KProcessAddress m_address{};
+ KLightLock m_lock;
Svc::MemoryPermission m_owner_perm{};
- size_t m_size{};
bool m_is_initialized{};
+ bool m_is_mapped{};
};
} // namespace Kernel