summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_session_request.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/k_session_request.h')
-rw-r--r--src/core/hle/kernel/k_session_request.h75
1 files changed, 42 insertions, 33 deletions
diff --git a/src/core/hle/kernel/k_session_request.h b/src/core/hle/kernel/k_session_request.h
index e5558bc2c..283669e0a 100644
--- a/src/core/hle/kernel/k_session_request.h
+++ b/src/core/hle/kernel/k_session_request.h
@@ -5,6 +5,8 @@
#include <array>
+#include "common/intrusive_list.h"
+
#include "core/hle/kernel/k_auto_object.h"
#include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_memory_block.h"
@@ -16,7 +18,7 @@ namespace Kernel {
class KSessionRequest final : public KSlabAllocated<KSessionRequest>,
public KAutoObject,
- public boost::intrusive::list_base_hook<> {
+ public Common::IntrusiveListBaseNode<KSessionRequest> {
KERNEL_AUTOOBJECT_TRAITS(KSessionRequest, KAutoObject);
public:
@@ -26,17 +28,17 @@ public:
class Mapping {
public:
- constexpr void Set(VAddr c, VAddr s, size_t sz, KMemoryState st) {
+ constexpr void Set(KProcessAddress c, KProcessAddress s, size_t sz, KMemoryState st) {
m_client_address = c;
m_server_address = s;
m_size = sz;
m_state = st;
}
- constexpr VAddr GetClientAddress() const {
+ constexpr KProcessAddress GetClientAddress() const {
return m_client_address;
}
- constexpr VAddr GetServerAddress() const {
+ constexpr KProcessAddress GetServerAddress() const {
return m_server_address;
}
constexpr size_t GetSize() const {
@@ -47,14 +49,14 @@ public:
}
private:
- VAddr m_client_address;
- VAddr m_server_address;
- size_t m_size;
- KMemoryState m_state;
+ KProcessAddress m_client_address{};
+ KProcessAddress m_server_address{};
+ size_t m_size{};
+ KMemoryState m_state{};
};
public:
- explicit SessionMappings(KernelCore& kernel_) : kernel(kernel_) {}
+ explicit SessionMappings(KernelCore& kernel) : m_kernel(kernel) {}
void Initialize() {}
void Finalize();
@@ -69,14 +71,17 @@ public:
return m_num_exch;
}
- Result PushSend(VAddr client, VAddr server, size_t size, KMemoryState state);
- Result PushReceive(VAddr client, VAddr server, size_t size, KMemoryState state);
- Result PushExchange(VAddr client, VAddr server, size_t size, KMemoryState state);
+ Result PushSend(KProcessAddress client, KProcessAddress server, size_t size,
+ KMemoryState state);
+ Result PushReceive(KProcessAddress client, KProcessAddress server, size_t size,
+ KMemoryState state);
+ Result PushExchange(KProcessAddress client, KProcessAddress server, size_t size,
+ KMemoryState state);
- VAddr GetSendClientAddress(size_t i) const {
+ KProcessAddress GetSendClientAddress(size_t i) const {
return GetSendMapping(i).GetClientAddress();
}
- VAddr GetSendServerAddress(size_t i) const {
+ KProcessAddress GetSendServerAddress(size_t i) const {
return GetSendMapping(i).GetServerAddress();
}
size_t GetSendSize(size_t i) const {
@@ -86,10 +91,10 @@ public:
return GetSendMapping(i).GetMemoryState();
}
- VAddr GetReceiveClientAddress(size_t i) const {
+ KProcessAddress GetReceiveClientAddress(size_t i) const {
return GetReceiveMapping(i).GetClientAddress();
}
- VAddr GetReceiveServerAddress(size_t i) const {
+ KProcessAddress GetReceiveServerAddress(size_t i) const {
return GetReceiveMapping(i).GetServerAddress();
}
size_t GetReceiveSize(size_t i) const {
@@ -99,10 +104,10 @@ public:
return GetReceiveMapping(i).GetMemoryState();
}
- VAddr GetExchangeClientAddress(size_t i) const {
+ KProcessAddress GetExchangeClientAddress(size_t i) const {
return GetExchangeMapping(i).GetClientAddress();
}
- VAddr GetExchangeServerAddress(size_t i) const {
+ KProcessAddress GetExchangeServerAddress(size_t i) const {
return GetExchangeMapping(i).GetServerAddress();
}
size_t GetExchangeSize(size_t i) const {
@@ -113,7 +118,8 @@ public:
}
private:
- Result PushMap(VAddr client, VAddr server, size_t size, KMemoryState state, size_t index);
+ Result PushMap(KProcessAddress client, KProcessAddress server, size_t size,
+ KMemoryState state, size_t index);
const Mapping& GetSendMapping(size_t i) const {
ASSERT(i < m_num_send);
@@ -149,8 +155,8 @@ public:
}
private:
- KernelCore& kernel;
- std::array<Mapping, NumStaticMappings> m_static_mappings;
+ KernelCore& m_kernel;
+ std::array<Mapping, NumStaticMappings> m_static_mappings{};
Mapping* m_mappings{};
u8 m_num_send{};
u8 m_num_recv{};
@@ -158,7 +164,7 @@ public:
};
public:
- explicit KSessionRequest(KernelCore& kernel_) : KAutoObject(kernel_), m_mappings(kernel_) {}
+ explicit KSessionRequest(KernelCore& kernel) : KAutoObject(kernel), m_mappings(kernel) {}
static KSessionRequest* Create(KernelCore& kernel) {
KSessionRequest* req = KSessionRequest::Allocate(kernel);
@@ -170,13 +176,13 @@ public:
void Destroy() override {
this->Finalize();
- KSessionRequest::Free(kernel, this);
+ KSessionRequest::Free(m_kernel, this);
}
void Initialize(KEvent* event, uintptr_t address, size_t size) {
m_mappings.Initialize();
- m_thread = GetCurrentThreadPointer(kernel);
+ m_thread = GetCurrentThreadPointer(m_kernel);
m_event = event;
m_address = address;
m_size = size;
@@ -227,22 +233,25 @@ public:
return m_mappings.GetExchangeCount();
}
- Result PushSend(VAddr client, VAddr server, size_t size, KMemoryState state) {
+ Result PushSend(KProcessAddress client, KProcessAddress server, size_t size,
+ KMemoryState state) {
return m_mappings.PushSend(client, server, size, state);
}
- Result PushReceive(VAddr client, VAddr server, size_t size, KMemoryState state) {
+ Result PushReceive(KProcessAddress client, KProcessAddress server, size_t size,
+ KMemoryState state) {
return m_mappings.PushReceive(client, server, size, state);
}
- Result PushExchange(VAddr client, VAddr server, size_t size, KMemoryState state) {
+ Result PushExchange(KProcessAddress client, KProcessAddress server, size_t size,
+ KMemoryState state) {
return m_mappings.PushExchange(client, server, size, state);
}
- VAddr GetSendClientAddress(size_t i) const {
+ KProcessAddress GetSendClientAddress(size_t i) const {
return m_mappings.GetSendClientAddress(i);
}
- VAddr GetSendServerAddress(size_t i) const {
+ KProcessAddress GetSendServerAddress(size_t i) const {
return m_mappings.GetSendServerAddress(i);
}
size_t GetSendSize(size_t i) const {
@@ -252,10 +261,10 @@ public:
return m_mappings.GetSendMemoryState(i);
}
- VAddr GetReceiveClientAddress(size_t i) const {
+ KProcessAddress GetReceiveClientAddress(size_t i) const {
return m_mappings.GetReceiveClientAddress(i);
}
- VAddr GetReceiveServerAddress(size_t i) const {
+ KProcessAddress GetReceiveServerAddress(size_t i) const {
return m_mappings.GetReceiveServerAddress(i);
}
size_t GetReceiveSize(size_t i) const {
@@ -265,10 +274,10 @@ public:
return m_mappings.GetReceiveMemoryState(i);
}
- VAddr GetExchangeClientAddress(size_t i) const {
+ KProcessAddress GetExchangeClientAddress(size_t i) const {
return m_mappings.GetExchangeClientAddress(i);
}
- VAddr GetExchangeServerAddress(size_t i) const {
+ KProcessAddress GetExchangeServerAddress(size_t i) const {
return m_mappings.GetExchangeServerAddress(i);
}
size_t GetExchangeSize(size_t i) const {