diff options
41 files changed, 139 insertions, 141 deletions
@@ -1,7 +1,7 @@ | |||
1 | yuzu emulator early access | 1 | yuzu emulator early access |
2 | ============= | 2 | ============= |
3 | 3 | ||
4 | This is the source code for early-access 1668. | 4 | This is the source code for early-access 1669. |
5 | 5 | ||
6 | ## Legal Notice | 6 | ## Legal Notice |
7 | 7 | ||
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index 0906b8cfb..d136be452 100755 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h | |||
@@ -69,16 +69,16 @@ public: | |||
69 | AlwaysMoveHandles = 1, | 69 | AlwaysMoveHandles = 1, |
70 | }; | 70 | }; |
71 | 71 | ||
72 | explicit ResponseBuilder(Kernel::HLERequestContext& context, u32 normal_params_size, | 72 | explicit ResponseBuilder(Kernel::HLERequestContext& ctx, u32 normal_params_size, |
73 | u32 num_handles_to_copy = 0, u32 num_objects_to_move = 0, | 73 | u32 num_handles_to_copy = 0, u32 num_objects_to_move = 0, |
74 | Flags flags = Flags::None) | 74 | Flags flags = Flags::None) |
75 | : RequestHelperBase(context), normal_params_size(normal_params_size), | 75 | : RequestHelperBase(ctx), normal_params_size(normal_params_size), |
76 | num_handles_to_copy(num_handles_to_copy), | 76 | num_handles_to_copy(num_handles_to_copy), |
77 | num_objects_to_move(num_objects_to_move), kernel{context.kernel} { | 77 | num_objects_to_move(num_objects_to_move), kernel{ctx.kernel} { |
78 | 78 | ||
79 | memset(cmdbuf, 0, sizeof(u32) * IPC::COMMAND_BUFFER_LENGTH); | 79 | memset(cmdbuf, 0, sizeof(u32) * IPC::COMMAND_BUFFER_LENGTH); |
80 | 80 | ||
81 | context.ClearIncomingObjects(); | 81 | ctx.ClearIncomingObjects(); |
82 | 82 | ||
83 | IPC::CommandHeader header{}; | 83 | IPC::CommandHeader header{}; |
84 | 84 | ||
@@ -90,13 +90,13 @@ public: | |||
90 | u32 num_domain_objects{}; | 90 | u32 num_domain_objects{}; |
91 | const bool always_move_handles{ | 91 | const bool always_move_handles{ |
92 | (static_cast<u32>(flags) & static_cast<u32>(Flags::AlwaysMoveHandles)) != 0}; | 92 | (static_cast<u32>(flags) & static_cast<u32>(Flags::AlwaysMoveHandles)) != 0}; |
93 | if (!context.Session()->IsDomain() || always_move_handles) { | 93 | if (!ctx.Session()->IsDomain() || always_move_handles) { |
94 | num_handles_to_move = num_objects_to_move; | 94 | num_handles_to_move = num_objects_to_move; |
95 | } else { | 95 | } else { |
96 | num_domain_objects = num_objects_to_move; | 96 | num_domain_objects = num_objects_to_move; |
97 | } | 97 | } |
98 | 98 | ||
99 | if (context.Session()->IsDomain()) { | 99 | if (ctx.Session()->IsDomain()) { |
100 | raw_data_size += sizeof(DomainMessageHeader) / 4 + num_domain_objects; | 100 | raw_data_size += sizeof(DomainMessageHeader) / 4 + num_domain_objects; |
101 | } | 101 | } |
102 | 102 | ||
@@ -116,7 +116,7 @@ public: | |||
116 | 116 | ||
117 | AlignWithPadding(); | 117 | AlignWithPadding(); |
118 | 118 | ||
119 | if (context.Session()->IsDomain() && context.HasDomainMessageHeader()) { | 119 | if (ctx.Session()->IsDomain() && ctx.HasDomainMessageHeader()) { |
120 | IPC::DomainMessageHeader domain_header{}; | 120 | IPC::DomainMessageHeader domain_header{}; |
121 | domain_header.num_objects = num_domain_objects; | 121 | domain_header.num_objects = num_domain_objects; |
122 | PushRaw(domain_header); | 122 | PushRaw(domain_header); |
@@ -341,9 +341,9 @@ class RequestParser : public RequestHelperBase { | |||
341 | public: | 341 | public: |
342 | explicit RequestParser(u32* command_buffer) : RequestHelperBase(command_buffer) {} | 342 | explicit RequestParser(u32* command_buffer) : RequestHelperBase(command_buffer) {} |
343 | 343 | ||
344 | explicit RequestParser(Kernel::HLERequestContext& context) : RequestHelperBase(context) { | 344 | explicit RequestParser(Kernel::HLERequestContext& ctx) : RequestHelperBase(ctx) { |
345 | ASSERT_MSG(context.GetDataPayloadOffset(), "context is incomplete"); | 345 | ASSERT_MSG(ctx.GetDataPayloadOffset(), "context is incomplete"); |
346 | Skip(context.GetDataPayloadOffset(), false); | 346 | Skip(ctx.GetDataPayloadOffset(), false); |
347 | // Skip the u64 command id, it's already stored in the context | 347 | // Skip the u64 command id, it's already stored in the context |
348 | static constexpr u32 CommandIdSize = 2; | 348 | static constexpr u32 CommandIdSize = 2; |
349 | Skip(CommandIdSize, false); | 349 | Skip(CommandIdSize, false); |
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp index b505d20a6..93907f75e 100755 --- a/src/core/hle/kernel/hle_ipc.cpp +++ b/src/core/hle/kernel/hle_ipc.cpp | |||
@@ -180,12 +180,12 @@ ResultCode HLERequestContext::PopulateFromIncomingCommandBuffer(const KHandleTab | |||
180 | return RESULT_SUCCESS; | 180 | return RESULT_SUCCESS; |
181 | } | 181 | } |
182 | 182 | ||
183 | ResultCode HLERequestContext::WriteToOutgoingCommandBuffer(KThread& thread) { | 183 | ResultCode HLERequestContext::WriteToOutgoingCommandBuffer(KThread& requesting_thread) { |
184 | auto& owner_process = *thread.GetOwnerProcess(); | 184 | auto& owner_process = *requesting_thread.GetOwnerProcess(); |
185 | auto& handle_table = owner_process.GetHandleTable(); | 185 | auto& handle_table = owner_process.GetHandleTable(); |
186 | 186 | ||
187 | std::array<u32, IPC::COMMAND_BUFFER_LENGTH> dst_cmdbuf; | 187 | std::array<u32, IPC::COMMAND_BUFFER_LENGTH> dst_cmdbuf; |
188 | memory.ReadBlock(owner_process, thread.GetTLSAddress(), dst_cmdbuf.data(), | 188 | memory.ReadBlock(owner_process, requesting_thread.GetTLSAddress(), dst_cmdbuf.data(), |
189 | dst_cmdbuf.size() * sizeof(u32)); | 189 | dst_cmdbuf.size() * sizeof(u32)); |
190 | 190 | ||
191 | // The header was already built in the internal command buffer. Attempt to parse it to verify | 191 | // The header was already built in the internal command buffer. Attempt to parse it to verify |
@@ -242,7 +242,7 @@ ResultCode HLERequestContext::WriteToOutgoingCommandBuffer(KThread& thread) { | |||
242 | } | 242 | } |
243 | 243 | ||
244 | // Copy the translated command buffer back into the thread's command buffer area. | 244 | // Copy the translated command buffer back into the thread's command buffer area. |
245 | memory.WriteBlock(owner_process, thread.GetTLSAddress(), dst_cmdbuf.data(), | 245 | memory.WriteBlock(owner_process, requesting_thread.GetTLSAddress(), dst_cmdbuf.data(), |
246 | dst_cmdbuf.size() * sizeof(u32)); | 246 | dst_cmdbuf.size() * sizeof(u32)); |
247 | 247 | ||
248 | return RESULT_SUCCESS; | 248 | return RESULT_SUCCESS; |
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index fa031c121..21e384706 100755 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h | |||
@@ -126,7 +126,7 @@ public: | |||
126 | u32_le* src_cmdbuf); | 126 | u32_le* src_cmdbuf); |
127 | 127 | ||
128 | /// Writes data from this context back to the requesting process/thread. | 128 | /// Writes data from this context back to the requesting process/thread. |
129 | ResultCode WriteToOutgoingCommandBuffer(KThread& thread); | 129 | ResultCode WriteToOutgoingCommandBuffer(KThread& requesting_thread); |
130 | 130 | ||
131 | u32_le GetCommand() const { | 131 | u32_le GetCommand() const { |
132 | return command; | 132 | return command; |
diff --git a/src/core/hle/kernel/k_auto_object.h b/src/core/hle/kernel/k_auto_object.h index 765e46670..bc18582be 100755 --- a/src/core/hle/kernel/k_auto_object.h +++ b/src/core/hle/kernel/k_auto_object.h | |||
@@ -177,7 +177,7 @@ class KAutoObjectWithListContainer; | |||
177 | 177 | ||
178 | class KAutoObjectWithList : public KAutoObject { | 178 | class KAutoObjectWithList : public KAutoObject { |
179 | public: | 179 | public: |
180 | explicit KAutoObjectWithList(KernelCore& kernel_) : KAutoObject(kernel_), kernel(kernel_) {} | 180 | explicit KAutoObjectWithList(KernelCore& kernel_) : KAutoObject(kernel_) {} |
181 | 181 | ||
182 | static int Compare(const KAutoObjectWithList& lhs, const KAutoObjectWithList& rhs) { | 182 | static int Compare(const KAutoObjectWithList& lhs, const KAutoObjectWithList& rhs) { |
183 | const u64 lid = lhs.GetId(); | 183 | const u64 lid = lhs.GetId(); |
@@ -204,11 +204,7 @@ public: | |||
204 | private: | 204 | private: |
205 | friend class KAutoObjectWithListContainer; | 205 | friend class KAutoObjectWithListContainer; |
206 | 206 | ||
207 | private: | ||
208 | Common::IntrusiveRedBlackTreeNode list_node; | 207 | Common::IntrusiveRedBlackTreeNode list_node; |
209 | |||
210 | protected: | ||
211 | KernelCore& kernel; | ||
212 | }; | 208 | }; |
213 | 209 | ||
214 | template <typename T> | 210 | template <typename T> |
diff --git a/src/core/hle/kernel/k_client_port.cpp b/src/core/hle/kernel/k_client_port.cpp index b6f1d713f..e14b915b9 100755 --- a/src/core/hle/kernel/k_client_port.cpp +++ b/src/core/hle/kernel/k_client_port.cpp | |||
@@ -13,7 +13,7 @@ | |||
13 | 13 | ||
14 | namespace Kernel { | 14 | namespace Kernel { |
15 | 15 | ||
16 | KClientPort::KClientPort(KernelCore& kernel) : KSynchronizationObject{kernel} {} | 16 | KClientPort::KClientPort(KernelCore& kernel_) : KSynchronizationObject{kernel_} {} |
17 | KClientPort::~KClientPort() = default; | 17 | KClientPort::~KClientPort() = default; |
18 | 18 | ||
19 | void KClientPort::Initialize(KPort* parent_, s32 max_sessions_, std::string&& name_) { | 19 | void KClientPort::Initialize(KPort* parent_, s32 max_sessions_, std::string&& name_) { |
diff --git a/src/core/hle/kernel/k_client_port.h b/src/core/hle/kernel/k_client_port.h index ec1d7e12e..d00ce3ddd 100755 --- a/src/core/hle/kernel/k_client_port.h +++ b/src/core/hle/kernel/k_client_port.h | |||
@@ -21,7 +21,7 @@ class KClientPort final : public KSynchronizationObject { | |||
21 | KERNEL_AUTOOBJECT_TRAITS(KClientPort, KSynchronizationObject); | 21 | KERNEL_AUTOOBJECT_TRAITS(KClientPort, KSynchronizationObject); |
22 | 22 | ||
23 | public: | 23 | public: |
24 | explicit KClientPort(KernelCore& kernel); | 24 | explicit KClientPort(KernelCore& kernel_); |
25 | virtual ~KClientPort() override; | 25 | virtual ~KClientPort() override; |
26 | 26 | ||
27 | void Initialize(KPort* parent_, s32 max_sessions_, std::string&& name_); | 27 | void Initialize(KPort* parent_, s32 max_sessions_, std::string&& name_); |
diff --git a/src/core/hle/kernel/k_client_session.cpp b/src/core/hle/kernel/k_client_session.cpp index 0618dc246..8ad1be762 100755 --- a/src/core/hle/kernel/k_client_session.cpp +++ b/src/core/hle/kernel/k_client_session.cpp | |||
@@ -12,7 +12,8 @@ | |||
12 | 12 | ||
13 | namespace Kernel { | 13 | namespace Kernel { |
14 | 14 | ||
15 | KClientSession::KClientSession(KernelCore& kernel) : KAutoObjectWithSlabHeapAndContainer{kernel} {} | 15 | KClientSession::KClientSession(KernelCore& kernel_) |
16 | : KAutoObjectWithSlabHeapAndContainer{kernel_} {} | ||
16 | KClientSession::~KClientSession() = default; | 17 | KClientSession::~KClientSession() = default; |
17 | 18 | ||
18 | void KClientSession::Destroy() { | 19 | void KClientSession::Destroy() { |
diff --git a/src/core/hle/kernel/k_client_session.h b/src/core/hle/kernel/k_client_session.h index 6476a588b..720a8c243 100755 --- a/src/core/hle/kernel/k_client_session.h +++ b/src/core/hle/kernel/k_client_session.h | |||
@@ -33,7 +33,7 @@ class KClientSession final | |||
33 | KERNEL_AUTOOBJECT_TRAITS(KClientSession, KAutoObject); | 33 | KERNEL_AUTOOBJECT_TRAITS(KClientSession, KAutoObject); |
34 | 34 | ||
35 | public: | 35 | public: |
36 | explicit KClientSession(KernelCore& kernel); | 36 | explicit KClientSession(KernelCore& kernel_); |
37 | virtual ~KClientSession(); | 37 | virtual ~KClientSession(); |
38 | 38 | ||
39 | void Initialize(KSession* parent_, std::string&& name_) { | 39 | void Initialize(KSession* parent_, std::string&& name_) { |
diff --git a/src/core/hle/kernel/k_condition_variable.cpp b/src/core/hle/kernel/k_condition_variable.cpp index f51cf3e7b..ce3bade60 100755 --- a/src/core/hle/kernel/k_condition_variable.cpp +++ b/src/core/hle/kernel/k_condition_variable.cpp | |||
@@ -254,8 +254,7 @@ void KConditionVariable::Signal(u64 cv_key, s32 count) { | |||
254 | } | 254 | } |
255 | 255 | ||
256 | // Close threads in the list. | 256 | // Close threads in the list. |
257 | for (auto it = thread_list.begin(); it != thread_list.end(); | 257 | for (auto it = thread_list.begin(); it != thread_list.end(); it = thread_list.erase(it)) { |
258 | it = thread_list.erase(kernel, it)) { | ||
259 | (*it).Close(); | 258 | (*it).Close(); |
260 | } | 259 | } |
261 | } | 260 | } |
diff --git a/src/core/hle/kernel/k_event.cpp b/src/core/hle/kernel/k_event.cpp index 986355b78..0720efece 100755 --- a/src/core/hle/kernel/k_event.cpp +++ b/src/core/hle/kernel/k_event.cpp | |||
@@ -8,8 +8,9 @@ | |||
8 | 8 | ||
9 | namespace Kernel { | 9 | namespace Kernel { |
10 | 10 | ||
11 | KEvent::KEvent(KernelCore& kernel) | 11 | KEvent::KEvent(KernelCore& kernel_) |
12 | : KAutoObjectWithSlabHeapAndContainer{kernel}, readable_event{kernel}, writable_event{kernel} {} | 12 | : KAutoObjectWithSlabHeapAndContainer{kernel_}, readable_event{kernel_}, writable_event{ |
13 | kernel_} {} | ||
13 | 14 | ||
14 | KEvent::~KEvent() = default; | 15 | KEvent::~KEvent() = default; |
15 | 16 | ||
diff --git a/src/core/hle/kernel/k_event.h b/src/core/hle/kernel/k_event.h index 4ca869930..9a59ffb70 100755 --- a/src/core/hle/kernel/k_event.h +++ b/src/core/hle/kernel/k_event.h | |||
@@ -19,7 +19,7 @@ class KEvent final : public KAutoObjectWithSlabHeapAndContainer<KEvent, KAutoObj | |||
19 | KERNEL_AUTOOBJECT_TRAITS(KEvent, KAutoObject); | 19 | KERNEL_AUTOOBJECT_TRAITS(KEvent, KAutoObject); |
20 | 20 | ||
21 | public: | 21 | public: |
22 | explicit KEvent(KernelCore& kernel); | 22 | explicit KEvent(KernelCore& kernel_); |
23 | virtual ~KEvent(); | 23 | virtual ~KEvent(); |
24 | 24 | ||
25 | void Initialize(std::string&& name); | 25 | void Initialize(std::string&& name); |
diff --git a/src/core/hle/kernel/k_linked_list.h b/src/core/hle/kernel/k_linked_list.h index 500f44685..540e518cd 100755 --- a/src/core/hle/kernel/k_linked_list.h +++ b/src/core/hle/kernel/k_linked_list.h | |||
@@ -124,7 +124,7 @@ public: | |||
124 | 124 | ||
125 | ~KLinkedList() { | 125 | ~KLinkedList() { |
126 | // Erase all elements. | 126 | // Erase all elements. |
127 | for (auto it = this->begin(); it != this->end(); it = this->erase(kernel, it)) { | 127 | for (auto it = begin(); it != end(); it = erase(it)) { |
128 | } | 128 | } |
129 | 129 | ||
130 | // Ensure we succeeded. | 130 | // Ensure we succeeded. |
@@ -223,7 +223,7 @@ public: | |||
223 | this->erase(this->begin()); | 223 | this->erase(this->begin()); |
224 | } | 224 | } |
225 | 225 | ||
226 | iterator erase(KernelCore& kernel, const iterator pos) { | 226 | iterator erase(const iterator pos) { |
227 | KLinkedListNode* freed_node = std::addressof(*pos.m_base_it); | 227 | KLinkedListNode* freed_node = std::addressof(*pos.m_base_it); |
228 | iterator ret = iterator(BaseList::erase(pos.m_base_it)); | 228 | iterator ret = iterator(BaseList::erase(pos.m_base_it)); |
229 | KLinkedListNode::Free(kernel, freed_node); | 229 | KLinkedListNode::Free(kernel, freed_node); |
diff --git a/src/core/hle/kernel/k_memory_block_manager.cpp b/src/core/hle/kernel/k_memory_block_manager.cpp index 4a2d88008..44bfeb0d5 100755 --- a/src/core/hle/kernel/k_memory_block_manager.cpp +++ b/src/core/hle/kernel/k_memory_block_manager.cpp | |||
@@ -17,8 +17,8 @@ KMemoryBlockManager::KMemoryBlockManager(VAddr start_addr, VAddr end_addr) | |||
17 | KMemoryBlockManager::iterator KMemoryBlockManager::FindIterator(VAddr addr) { | 17 | KMemoryBlockManager::iterator KMemoryBlockManager::FindIterator(VAddr addr) { |
18 | auto node{memory_block_tree.begin()}; | 18 | auto node{memory_block_tree.begin()}; |
19 | while (node != end()) { | 19 | while (node != end()) { |
20 | const VAddr end_addr{node->GetNumPages() * PageSize + node->GetAddress()}; | 20 | const VAddr node_end_addr{node->GetNumPages() * PageSize + node->GetAddress()}; |
21 | if (node->GetAddress() <= addr && end_addr - 1 >= addr) { | 21 | if (node->GetAddress() <= addr && node_end_addr - 1 >= addr) { |
22 | return node; | 22 | return node; |
23 | } | 23 | } |
24 | node = std::next(node); | 24 | node = std::next(node); |
@@ -67,7 +67,7 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
67 | KMemoryPermission prev_perm, KMemoryAttribute prev_attribute, | 67 | KMemoryPermission prev_perm, KMemoryAttribute prev_attribute, |
68 | KMemoryState state, KMemoryPermission perm, | 68 | KMemoryState state, KMemoryPermission perm, |
69 | KMemoryAttribute attribute) { | 69 | KMemoryAttribute attribute) { |
70 | const VAddr end_addr{addr + num_pages * PageSize}; | 70 | const VAddr update_end_addr{addr + num_pages * PageSize}; |
71 | iterator node{memory_block_tree.begin()}; | 71 | iterator node{memory_block_tree.begin()}; |
72 | 72 | ||
73 | prev_attribute |= KMemoryAttribute::IpcAndDeviceMapped; | 73 | prev_attribute |= KMemoryAttribute::IpcAndDeviceMapped; |
@@ -78,7 +78,7 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
78 | const VAddr cur_addr{block->GetAddress()}; | 78 | const VAddr cur_addr{block->GetAddress()}; |
79 | const VAddr cur_end_addr{block->GetNumPages() * PageSize + cur_addr}; | 79 | const VAddr cur_end_addr{block->GetNumPages() * PageSize + cur_addr}; |
80 | 80 | ||
81 | if (addr < cur_end_addr && cur_addr < end_addr) { | 81 | if (addr < cur_end_addr && cur_addr < update_end_addr) { |
82 | if (!block->HasProperties(prev_state, prev_perm, prev_attribute)) { | 82 | if (!block->HasProperties(prev_state, prev_perm, prev_attribute)) { |
83 | node = next_node; | 83 | node = next_node; |
84 | continue; | 84 | continue; |
@@ -89,8 +89,8 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
89 | memory_block_tree.insert(node, block->Split(addr)); | 89 | memory_block_tree.insert(node, block->Split(addr)); |
90 | } | 90 | } |
91 | 91 | ||
92 | if (end_addr < cur_end_addr) { | 92 | if (update_end_addr < cur_end_addr) { |
93 | new_node = memory_block_tree.insert(node, block->Split(end_addr)); | 93 | new_node = memory_block_tree.insert(node, block->Split(update_end_addr)); |
94 | } | 94 | } |
95 | 95 | ||
96 | new_node->Update(state, perm, attribute); | 96 | new_node->Update(state, perm, attribute); |
@@ -98,7 +98,7 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
98 | MergeAdjacent(new_node, next_node); | 98 | MergeAdjacent(new_node, next_node); |
99 | } | 99 | } |
100 | 100 | ||
101 | if (cur_end_addr - 1 >= end_addr - 1) { | 101 | if (cur_end_addr - 1 >= update_end_addr - 1) { |
102 | break; | 102 | break; |
103 | } | 103 | } |
104 | 104 | ||
@@ -108,7 +108,7 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
108 | 108 | ||
109 | void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState state, | 109 | void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState state, |
110 | KMemoryPermission perm, KMemoryAttribute attribute) { | 110 | KMemoryPermission perm, KMemoryAttribute attribute) { |
111 | const VAddr end_addr{addr + num_pages * PageSize}; | 111 | const VAddr update_end_addr{addr + num_pages * PageSize}; |
112 | iterator node{memory_block_tree.begin()}; | 112 | iterator node{memory_block_tree.begin()}; |
113 | 113 | ||
114 | while (node != memory_block_tree.end()) { | 114 | while (node != memory_block_tree.end()) { |
@@ -117,15 +117,15 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
117 | const VAddr cur_addr{block->GetAddress()}; | 117 | const VAddr cur_addr{block->GetAddress()}; |
118 | const VAddr cur_end_addr{block->GetNumPages() * PageSize + cur_addr}; | 118 | const VAddr cur_end_addr{block->GetNumPages() * PageSize + cur_addr}; |
119 | 119 | ||
120 | if (addr < cur_end_addr && cur_addr < end_addr) { | 120 | if (addr < cur_end_addr && cur_addr < update_end_addr) { |
121 | iterator new_node{node}; | 121 | iterator new_node{node}; |
122 | 122 | ||
123 | if (addr > cur_addr) { | 123 | if (addr > cur_addr) { |
124 | memory_block_tree.insert(node, block->Split(addr)); | 124 | memory_block_tree.insert(node, block->Split(addr)); |
125 | } | 125 | } |
126 | 126 | ||
127 | if (end_addr < cur_end_addr) { | 127 | if (update_end_addr < cur_end_addr) { |
128 | new_node = memory_block_tree.insert(node, block->Split(end_addr)); | 128 | new_node = memory_block_tree.insert(node, block->Split(update_end_addr)); |
129 | } | 129 | } |
130 | 130 | ||
131 | new_node->Update(state, perm, attribute); | 131 | new_node->Update(state, perm, attribute); |
@@ -133,7 +133,7 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
133 | MergeAdjacent(new_node, next_node); | 133 | MergeAdjacent(new_node, next_node); |
134 | } | 134 | } |
135 | 135 | ||
136 | if (cur_end_addr - 1 >= end_addr - 1) { | 136 | if (cur_end_addr - 1 >= update_end_addr - 1) { |
137 | break; | 137 | break; |
138 | } | 138 | } |
139 | 139 | ||
@@ -143,7 +143,7 @@ void KMemoryBlockManager::Update(VAddr addr, std::size_t num_pages, KMemoryState | |||
143 | 143 | ||
144 | void KMemoryBlockManager::UpdateLock(VAddr addr, std::size_t num_pages, LockFunc&& lock_func, | 144 | void KMemoryBlockManager::UpdateLock(VAddr addr, std::size_t num_pages, LockFunc&& lock_func, |
145 | KMemoryPermission perm) { | 145 | KMemoryPermission perm) { |
146 | const VAddr end_addr{addr + num_pages * PageSize}; | 146 | const VAddr update_end_addr{addr + num_pages * PageSize}; |
147 | iterator node{memory_block_tree.begin()}; | 147 | iterator node{memory_block_tree.begin()}; |
148 | 148 | ||
149 | while (node != memory_block_tree.end()) { | 149 | while (node != memory_block_tree.end()) { |
@@ -152,15 +152,15 @@ void KMemoryBlockManager::UpdateLock(VAddr addr, std::size_t num_pages, LockFunc | |||
152 | const VAddr cur_addr{block->GetAddress()}; | 152 | const VAddr cur_addr{block->GetAddress()}; |
153 | const VAddr cur_end_addr{block->GetNumPages() * PageSize + cur_addr}; | 153 | const VAddr cur_end_addr{block->GetNumPages() * PageSize + cur_addr}; |
154 | 154 | ||
155 | if (addr < cur_end_addr && cur_addr < end_addr) { | 155 | if (addr < cur_end_addr && cur_addr < update_end_addr) { |
156 | iterator new_node{node}; | 156 | iterator new_node{node}; |
157 | 157 | ||
158 | if (addr > cur_addr) { | 158 | if (addr > cur_addr) { |
159 | memory_block_tree.insert(node, block->Split(addr)); | 159 | memory_block_tree.insert(node, block->Split(addr)); |
160 | } | 160 | } |
161 | 161 | ||
162 | if (end_addr < cur_end_addr) { | 162 | if (update_end_addr < cur_end_addr) { |
163 | new_node = memory_block_tree.insert(node, block->Split(end_addr)); | 163 | new_node = memory_block_tree.insert(node, block->Split(update_end_addr)); |
164 | } | 164 | } |
165 | 165 | ||
166 | lock_func(new_node, perm); | 166 | lock_func(new_node, perm); |
@@ -168,7 +168,7 @@ void KMemoryBlockManager::UpdateLock(VAddr addr, std::size_t num_pages, LockFunc | |||
168 | MergeAdjacent(new_node, next_node); | 168 | MergeAdjacent(new_node, next_node); |
169 | } | 169 | } |
170 | 170 | ||
171 | if (cur_end_addr - 1 >= end_addr - 1) { | 171 | if (cur_end_addr - 1 >= update_end_addr - 1) { |
172 | break; | 172 | break; |
173 | } | 173 | } |
174 | 174 | ||
diff --git a/src/core/hle/kernel/k_memory_region.h b/src/core/hle/kernel/k_memory_region.h index a861c04ab..90ab8fd62 100755 --- a/src/core/hle/kernel/k_memory_region.h +++ b/src/core/hle/kernel/k_memory_region.h | |||
@@ -82,9 +82,9 @@ public: | |||
82 | type_id = type; | 82 | type_id = type; |
83 | } | 83 | } |
84 | 84 | ||
85 | constexpr bool Contains(u64 address) const { | 85 | constexpr bool Contains(u64 addr) const { |
86 | ASSERT(this->GetEndAddress() != 0); | 86 | ASSERT(this->GetEndAddress() != 0); |
87 | return this->GetAddress() <= address && address <= this->GetLastAddress(); | 87 | return this->GetAddress() <= addr && addr <= this->GetLastAddress(); |
88 | } | 88 | } |
89 | 89 | ||
90 | constexpr bool IsDerivedFrom(u32 type) const { | 90 | constexpr bool IsDerivedFrom(u32 type) const { |
diff --git a/src/core/hle/kernel/k_port.cpp b/src/core/hle/kernel/k_port.cpp index 734aa2a8c..feb2bb11f 100755 --- a/src/core/hle/kernel/k_port.cpp +++ b/src/core/hle/kernel/k_port.cpp | |||
@@ -9,8 +9,8 @@ | |||
9 | 9 | ||
10 | namespace Kernel { | 10 | namespace Kernel { |
11 | 11 | ||
12 | KPort::KPort(KernelCore& kernel) | 12 | KPort::KPort(KernelCore& kernel_) |
13 | : KAutoObjectWithSlabHeapAndContainer{kernel}, server{kernel}, client{kernel} {} | 13 | : KAutoObjectWithSlabHeapAndContainer{kernel_}, server{kernel_}, client{kernel_} {} |
14 | 14 | ||
15 | KPort::~KPort() = default; | 15 | KPort::~KPort() = default; |
16 | 16 | ||
diff --git a/src/core/hle/kernel/k_port.h b/src/core/hle/kernel/k_port.h index f1b2838d8..960f1f3a3 100755 --- a/src/core/hle/kernel/k_port.h +++ b/src/core/hle/kernel/k_port.h | |||
@@ -21,7 +21,7 @@ class KPort final : public KAutoObjectWithSlabHeapAndContainer<KPort, KAutoObjec | |||
21 | KERNEL_AUTOOBJECT_TRAITS(KPort, KAutoObject); | 21 | KERNEL_AUTOOBJECT_TRAITS(KPort, KAutoObject); |
22 | 22 | ||
23 | public: | 23 | public: |
24 | explicit KPort(KernelCore& kernel); | 24 | explicit KPort(KernelCore& kernel_); |
25 | virtual ~KPort(); | 25 | virtual ~KPort(); |
26 | 26 | ||
27 | static void PostDestroy([[maybe_unused]] uintptr_t arg) {} | 27 | static void PostDestroy([[maybe_unused]] uintptr_t arg) {} |
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index 174318180..bdcbaeeaa 100755 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp | |||
@@ -118,11 +118,11 @@ private: | |||
118 | std::bitset<num_slot_entries> is_slot_used; | 118 | std::bitset<num_slot_entries> is_slot_used; |
119 | }; | 119 | }; |
120 | 120 | ||
121 | ResultCode KProcess::Initialize(KProcess* process, Core::System& system, std::string name, | 121 | ResultCode KProcess::Initialize(KProcess* process, Core::System& system, std::string process_name, |
122 | ProcessType type) { | 122 | ProcessType type) { |
123 | auto& kernel = system.Kernel(); | 123 | auto& kernel = system.Kernel(); |
124 | 124 | ||
125 | process->name = std::move(name); | 125 | process->name = std::move(process_name); |
126 | 126 | ||
127 | process->resource_limit = kernel.GetSystemResourceLimit(); | 127 | process->resource_limit = kernel.GetSystemResourceLimit(); |
128 | process->status = ProcessStatus::Created; | 128 | process->status = ProcessStatus::Created; |
@@ -373,8 +373,8 @@ void KProcess::Run(s32 main_thread_priority, u64 stack_size) { | |||
373 | void KProcess::PrepareForTermination() { | 373 | void KProcess::PrepareForTermination() { |
374 | ChangeStatus(ProcessStatus::Exiting); | 374 | ChangeStatus(ProcessStatus::Exiting); |
375 | 375 | ||
376 | const auto stop_threads = [this](const std::vector<KThread*>& thread_list) { | 376 | const auto stop_threads = [this](const std::vector<KThread*>& in_thread_list) { |
377 | for (auto& thread : thread_list) { | 377 | for (auto& thread : in_thread_list) { |
378 | if (thread->GetOwnerProcess() != this) | 378 | if (thread->GetOwnerProcess() != this) |
379 | continue; | 379 | continue; |
380 | 380 | ||
@@ -491,10 +491,10 @@ bool KProcess::IsSignaled() const { | |||
491 | return is_signaled; | 491 | return is_signaled; |
492 | } | 492 | } |
493 | 493 | ||
494 | KProcess::KProcess(KernelCore& kernel) | 494 | KProcess::KProcess(KernelCore& kernel_) |
495 | : KAutoObjectWithSlabHeapAndContainer{kernel}, | 495 | : KAutoObjectWithSlabHeapAndContainer{kernel_}, |
496 | page_table{std::make_unique<KPageTable>(kernel.System())}, handle_table{kernel}, | 496 | page_table{std::make_unique<KPageTable>(kernel_.System())}, handle_table{kernel_}, |
497 | address_arbiter{kernel.System()}, condition_var{kernel.System()}, state_lock{kernel} {} | 497 | address_arbiter{kernel_.System()}, condition_var{kernel_.System()}, state_lock{kernel_} {} |
498 | 498 | ||
499 | KProcess::~KProcess() = default; | 499 | KProcess::~KProcess() = default; |
500 | 500 | ||
diff --git a/src/core/hle/kernel/k_process.h b/src/core/hle/kernel/k_process.h index 62ab26b05..123d71cd3 100755 --- a/src/core/hle/kernel/k_process.h +++ b/src/core/hle/kernel/k_process.h | |||
@@ -67,7 +67,7 @@ class KProcess final | |||
67 | KERNEL_AUTOOBJECT_TRAITS(KProcess, KSynchronizationObject); | 67 | KERNEL_AUTOOBJECT_TRAITS(KProcess, KSynchronizationObject); |
68 | 68 | ||
69 | public: | 69 | public: |
70 | explicit KProcess(KernelCore& kernel); | 70 | explicit KProcess(KernelCore& kernel_); |
71 | ~KProcess() override; | 71 | ~KProcess() override; |
72 | 72 | ||
73 | enum : u64 { | 73 | enum : u64 { |
@@ -90,7 +90,7 @@ public: | |||
90 | 90 | ||
91 | static constexpr std::size_t RANDOM_ENTROPY_SIZE = 4; | 91 | static constexpr std::size_t RANDOM_ENTROPY_SIZE = 4; |
92 | 92 | ||
93 | static ResultCode Initialize(KProcess* process, Core::System& system, std::string name, | 93 | static ResultCode Initialize(KProcess* process, Core::System& system, std::string process_name, |
94 | ProcessType type); | 94 | ProcessType type); |
95 | 95 | ||
96 | /// Gets a reference to the process' page table. | 96 | /// Gets a reference to the process' page table. |
diff --git a/src/core/hle/kernel/k_readable_event.cpp b/src/core/hle/kernel/k_readable_event.cpp index 8fef4bb00..0ea2d0275 100755 --- a/src/core/hle/kernel/k_readable_event.cpp +++ b/src/core/hle/kernel/k_readable_event.cpp | |||
@@ -12,7 +12,7 @@ | |||
12 | 12 | ||
13 | namespace Kernel { | 13 | namespace Kernel { |
14 | 14 | ||
15 | KReadableEvent::KReadableEvent(KernelCore& kernel) : KSynchronizationObject{kernel} {} | 15 | KReadableEvent::KReadableEvent(KernelCore& kernel_) : KSynchronizationObject{kernel_} {} |
16 | 16 | ||
17 | KReadableEvent::~KReadableEvent() = default; | 17 | KReadableEvent::~KReadableEvent() = default; |
18 | 18 | ||
diff --git a/src/core/hle/kernel/k_readable_event.h b/src/core/hle/kernel/k_readable_event.h index 1783ef0b8..33cd1dd3e 100755 --- a/src/core/hle/kernel/k_readable_event.h +++ b/src/core/hle/kernel/k_readable_event.h | |||
@@ -18,7 +18,7 @@ class KReadableEvent : public KSynchronizationObject { | |||
18 | KERNEL_AUTOOBJECT_TRAITS(KReadableEvent, KSynchronizationObject); | 18 | KERNEL_AUTOOBJECT_TRAITS(KReadableEvent, KSynchronizationObject); |
19 | 19 | ||
20 | public: | 20 | public: |
21 | explicit KReadableEvent(KernelCore& kernel); | 21 | explicit KReadableEvent(KernelCore& kernel_); |
22 | ~KReadableEvent() override; | 22 | ~KReadableEvent() override; |
23 | 23 | ||
24 | void Initialize(KEvent* parent_, std::string&& name_) { | 24 | void Initialize(KEvent* parent_, std::string&& name_) { |
diff --git a/src/core/hle/kernel/k_resource_limit.cpp b/src/core/hle/kernel/k_resource_limit.cpp index ad5095bfd..bf20bf7d0 100755 --- a/src/core/hle/kernel/k_resource_limit.cpp +++ b/src/core/hle/kernel/k_resource_limit.cpp | |||
@@ -10,8 +10,8 @@ | |||
10 | namespace Kernel { | 10 | namespace Kernel { |
11 | constexpr s64 DefaultTimeout = 10000000000; // 10 seconds | 11 | constexpr s64 DefaultTimeout = 10000000000; // 10 seconds |
12 | 12 | ||
13 | KResourceLimit::KResourceLimit(KernelCore& kernel) | 13 | KResourceLimit::KResourceLimit(KernelCore& kernel_) |
14 | : KAutoObjectWithSlabHeapAndContainer{kernel}, lock{kernel}, cond_var{kernel} {} | 14 | : KAutoObjectWithSlabHeapAndContainer{kernel_}, lock{kernel_}, cond_var{kernel_} {} |
15 | KResourceLimit::~KResourceLimit() = default; | 15 | KResourceLimit::~KResourceLimit() = default; |
16 | 16 | ||
17 | void KResourceLimit::Initialize(const Core::Timing::CoreTiming* core_timing_) { | 17 | void KResourceLimit::Initialize(const Core::Timing::CoreTiming* core_timing_) { |
diff --git a/src/core/hle/kernel/k_resource_limit.h b/src/core/hle/kernel/k_resource_limit.h index 66ebf32df..0debbbb51 100755 --- a/src/core/hle/kernel/k_resource_limit.h +++ b/src/core/hle/kernel/k_resource_limit.h | |||
@@ -36,7 +36,7 @@ class KResourceLimit final | |||
36 | KERNEL_AUTOOBJECT_TRAITS(KResourceLimit, KAutoObject); | 36 | KERNEL_AUTOOBJECT_TRAITS(KResourceLimit, KAutoObject); |
37 | 37 | ||
38 | public: | 38 | public: |
39 | explicit KResourceLimit(KernelCore& kernel); | 39 | explicit KResourceLimit(KernelCore& kernel_); |
40 | virtual ~KResourceLimit(); | 40 | virtual ~KResourceLimit(); |
41 | 41 | ||
42 | void Initialize(const Core::Timing::CoreTiming* core_timing_); | 42 | void Initialize(const Core::Timing::CoreTiming* core_timing_); |
diff --git a/src/core/hle/kernel/k_scheduler.cpp b/src/core/hle/kernel/k_scheduler.cpp index 0115fe6d1..e256e9415 100755 --- a/src/core/hle/kernel/k_scheduler.cpp +++ b/src/core/hle/kernel/k_scheduler.cpp | |||
@@ -259,7 +259,7 @@ void KScheduler::OnThreadAffinityMaskChanged(KernelCore& kernel, KThread* thread | |||
259 | } | 259 | } |
260 | } | 260 | } |
261 | 261 | ||
262 | void KScheduler::RotateScheduledQueue(s32 core_id, s32 priority) { | 262 | void KScheduler::RotateScheduledQueue(s32 cpu_core_id, s32 priority) { |
263 | ASSERT(system.GlobalSchedulerContext().IsLocked()); | 263 | ASSERT(system.GlobalSchedulerContext().IsLocked()); |
264 | 264 | ||
265 | // Get a reference to the priority queue. | 265 | // Get a reference to the priority queue. |
@@ -267,7 +267,7 @@ void KScheduler::RotateScheduledQueue(s32 core_id, s32 priority) { | |||
267 | auto& priority_queue = GetPriorityQueue(kernel); | 267 | auto& priority_queue = GetPriorityQueue(kernel); |
268 | 268 | ||
269 | // Rotate the front of the queue to the end. | 269 | // Rotate the front of the queue to the end. |
270 | KThread* top_thread = priority_queue.GetScheduledFront(core_id, priority); | 270 | KThread* top_thread = priority_queue.GetScheduledFront(cpu_core_id, priority); |
271 | KThread* next_thread = nullptr; | 271 | KThread* next_thread = nullptr; |
272 | if (top_thread != nullptr) { | 272 | if (top_thread != nullptr) { |
273 | next_thread = priority_queue.MoveToScheduledBack(top_thread); | 273 | next_thread = priority_queue.MoveToScheduledBack(top_thread); |
@@ -279,7 +279,7 @@ void KScheduler::RotateScheduledQueue(s32 core_id, s32 priority) { | |||
279 | 279 | ||
280 | // While we have a suggested thread, try to migrate it! | 280 | // While we have a suggested thread, try to migrate it! |
281 | { | 281 | { |
282 | KThread* suggested = priority_queue.GetSuggestedFront(core_id, priority); | 282 | KThread* suggested = priority_queue.GetSuggestedFront(cpu_core_id, priority); |
283 | while (suggested != nullptr) { | 283 | while (suggested != nullptr) { |
284 | // Check if the suggested thread is the top thread on its core. | 284 | // Check if the suggested thread is the top thread on its core. |
285 | const s32 suggested_core = suggested->GetActiveCore(); | 285 | const s32 suggested_core = suggested->GetActiveCore(); |
@@ -300,7 +300,7 @@ void KScheduler::RotateScheduledQueue(s32 core_id, s32 priority) { | |||
300 | // to the front of the queue. | 300 | // to the front of the queue. |
301 | if (top_on_suggested_core == nullptr || | 301 | if (top_on_suggested_core == nullptr || |
302 | top_on_suggested_core->GetPriority() >= HighestCoreMigrationAllowedPriority) { | 302 | top_on_suggested_core->GetPriority() >= HighestCoreMigrationAllowedPriority) { |
303 | suggested->SetActiveCore(core_id); | 303 | suggested->SetActiveCore(cpu_core_id); |
304 | priority_queue.ChangeCore(suggested_core, suggested, true); | 304 | priority_queue.ChangeCore(suggested_core, suggested, true); |
305 | IncrementScheduledCount(suggested); | 305 | IncrementScheduledCount(suggested); |
306 | break; | 306 | break; |
@@ -308,22 +308,22 @@ void KScheduler::RotateScheduledQueue(s32 core_id, s32 priority) { | |||
308 | } | 308 | } |
309 | 309 | ||
310 | // Get the next suggestion. | 310 | // Get the next suggestion. |
311 | suggested = priority_queue.GetSamePriorityNext(core_id, suggested); | 311 | suggested = priority_queue.GetSamePriorityNext(cpu_core_id, suggested); |
312 | } | 312 | } |
313 | } | 313 | } |
314 | 314 | ||
315 | // Now that we might have migrated a thread with the same priority, check if we can do better. | 315 | // Now that we might have migrated a thread with the same priority, check if we can do better. |
316 | 316 | ||
317 | { | 317 | { |
318 | KThread* best_thread = priority_queue.GetScheduledFront(core_id); | 318 | KThread* best_thread = priority_queue.GetScheduledFront(cpu_core_id); |
319 | if (best_thread == GetCurrentThread()) { | 319 | if (best_thread == GetCurrentThread()) { |
320 | best_thread = priority_queue.GetScheduledNext(core_id, best_thread); | 320 | best_thread = priority_queue.GetScheduledNext(cpu_core_id, best_thread); |
321 | } | 321 | } |
322 | 322 | ||
323 | // If the best thread we can choose has a priority the same or worse than ours, try to | 323 | // If the best thread we can choose has a priority the same or worse than ours, try to |
324 | // migrate a higher priority thread. | 324 | // migrate a higher priority thread. |
325 | if (best_thread != nullptr && best_thread->GetPriority() >= priority) { | 325 | if (best_thread != nullptr && best_thread->GetPriority() >= priority) { |
326 | KThread* suggested = priority_queue.GetSuggestedFront(core_id); | 326 | KThread* suggested = priority_queue.GetSuggestedFront(cpu_core_id); |
327 | while (suggested != nullptr) { | 327 | while (suggested != nullptr) { |
328 | // If the suggestion's priority is the same as ours, don't bother. | 328 | // If the suggestion's priority is the same as ours, don't bother. |
329 | if (suggested->GetPriority() >= best_thread->GetPriority()) { | 329 | if (suggested->GetPriority() >= best_thread->GetPriority()) { |
@@ -342,7 +342,7 @@ void KScheduler::RotateScheduledQueue(s32 core_id, s32 priority) { | |||
342 | if (top_on_suggested_core == nullptr || | 342 | if (top_on_suggested_core == nullptr || |
343 | top_on_suggested_core->GetPriority() >= | 343 | top_on_suggested_core->GetPriority() >= |
344 | HighestCoreMigrationAllowedPriority) { | 344 | HighestCoreMigrationAllowedPriority) { |
345 | suggested->SetActiveCore(core_id); | 345 | suggested->SetActiveCore(cpu_core_id); |
346 | priority_queue.ChangeCore(suggested_core, suggested, true); | 346 | priority_queue.ChangeCore(suggested_core, suggested, true); |
347 | IncrementScheduledCount(suggested); | 347 | IncrementScheduledCount(suggested); |
348 | break; | 348 | break; |
@@ -350,7 +350,7 @@ void KScheduler::RotateScheduledQueue(s32 core_id, s32 priority) { | |||
350 | } | 350 | } |
351 | 351 | ||
352 | // Get the next suggestion. | 352 | // Get the next suggestion. |
353 | suggested = priority_queue.GetSuggestedNext(core_id, suggested); | 353 | suggested = priority_queue.GetSuggestedNext(cpu_core_id, suggested); |
354 | } | 354 | } |
355 | } | 355 | } |
356 | } | 356 | } |
diff --git a/src/core/hle/kernel/k_scheduler.h b/src/core/hle/kernel/k_scheduler.h index b789a64a4..13a2414e6 100755 --- a/src/core/hle/kernel/k_scheduler.h +++ b/src/core/hle/kernel/k_scheduler.h | |||
@@ -141,7 +141,7 @@ private: | |||
141 | 141 | ||
142 | [[nodiscard]] static KSchedulerPriorityQueue& GetPriorityQueue(KernelCore& kernel); | 142 | [[nodiscard]] static KSchedulerPriorityQueue& GetPriorityQueue(KernelCore& kernel); |
143 | 143 | ||
144 | void RotateScheduledQueue(s32 core_id, s32 priority); | 144 | void RotateScheduledQueue(s32 cpu_core_id, s32 priority); |
145 | 145 | ||
146 | void Schedule() { | 146 | void Schedule() { |
147 | ASSERT(GetCurrentThread()->GetDisableDispatchCount() == 1); | 147 | ASSERT(GetCurrentThread()->GetDisableDispatchCount() == 1); |
diff --git a/src/core/hle/kernel/k_server_port.cpp b/src/core/hle/kernel/k_server_port.cpp index 5e44c48e2..8cbde177a 100755 --- a/src/core/hle/kernel/k_server_port.cpp +++ b/src/core/hle/kernel/k_server_port.cpp | |||
@@ -14,7 +14,7 @@ | |||
14 | 14 | ||
15 | namespace Kernel { | 15 | namespace Kernel { |
16 | 16 | ||
17 | KServerPort::KServerPort(KernelCore& kernel) : KSynchronizationObject{kernel} {} | 17 | KServerPort::KServerPort(KernelCore& kernel_) : KSynchronizationObject{kernel_} {} |
18 | KServerPort::~KServerPort() = default; | 18 | KServerPort::~KServerPort() = default; |
19 | 19 | ||
20 | void KServerPort::Initialize(KPort* parent_, std::string&& name_) { | 20 | void KServerPort::Initialize(KPort* parent_, std::string&& name_) { |
diff --git a/src/core/hle/kernel/k_server_port.h b/src/core/hle/kernel/k_server_port.h index 558c8ed4d..e76792253 100755 --- a/src/core/hle/kernel/k_server_port.h +++ b/src/core/hle/kernel/k_server_port.h | |||
@@ -29,7 +29,7 @@ private: | |||
29 | using SessionList = boost::intrusive::list<KServerSession>; | 29 | using SessionList = boost::intrusive::list<KServerSession>; |
30 | 30 | ||
31 | public: | 31 | public: |
32 | explicit KServerPort(KernelCore& kernel); | 32 | explicit KServerPort(KernelCore& kernel_); |
33 | virtual ~KServerPort() override; | 33 | virtual ~KServerPort() override; |
34 | 34 | ||
35 | using HLEHandler = std::shared_ptr<SessionRequestHandler>; | 35 | using HLEHandler = std::shared_ptr<SessionRequestHandler>; |
diff --git a/src/core/hle/kernel/k_server_session.cpp b/src/core/hle/kernel/k_server_session.cpp index c8acaa453..b28cc2499 100755 --- a/src/core/hle/kernel/k_server_session.cpp +++ b/src/core/hle/kernel/k_server_session.cpp | |||
@@ -23,7 +23,7 @@ | |||
23 | 23 | ||
24 | namespace Kernel { | 24 | namespace Kernel { |
25 | 25 | ||
26 | KServerSession::KServerSession(KernelCore& kernel) : KSynchronizationObject{kernel} {} | 26 | KServerSession::KServerSession(KernelCore& kernel_) : KSynchronizationObject{kernel_} {} |
27 | 27 | ||
28 | KServerSession::~KServerSession() { | 28 | KServerSession::~KServerSession() { |
29 | kernel.ReleaseServiceThread(service_thread); | 29 | kernel.ReleaseServiceThread(service_thread); |
diff --git a/src/core/hle/kernel/k_server_session.h b/src/core/hle/kernel/k_server_session.h index 77095bb85..597d76d38 100755 --- a/src/core/hle/kernel/k_server_session.h +++ b/src/core/hle/kernel/k_server_session.h | |||
@@ -40,7 +40,7 @@ class KServerSession final : public KSynchronizationObject, | |||
40 | friend class ServiceThread; | 40 | friend class ServiceThread; |
41 | 41 | ||
42 | public: | 42 | public: |
43 | explicit KServerSession(KernelCore& kernel); | 43 | explicit KServerSession(KernelCore& kernel_); |
44 | virtual ~KServerSession() override; | 44 | virtual ~KServerSession() override; |
45 | 45 | ||
46 | virtual void Destroy() override; | 46 | virtual void Destroy() override; |
diff --git a/src/core/hle/kernel/k_session.cpp b/src/core/hle/kernel/k_session.cpp index 7b0bc177d..025b8b555 100755 --- a/src/core/hle/kernel/k_session.cpp +++ b/src/core/hle/kernel/k_session.cpp | |||
@@ -11,8 +11,8 @@ | |||
11 | 11 | ||
12 | namespace Kernel { | 12 | namespace Kernel { |
13 | 13 | ||
14 | KSession::KSession(KernelCore& kernel) | 14 | KSession::KSession(KernelCore& kernel_) |
15 | : KAutoObjectWithSlabHeapAndContainer{kernel}, server{kernel}, client{kernel} {} | 15 | : KAutoObjectWithSlabHeapAndContainer{kernel_}, server{kernel_}, client{kernel_} {} |
16 | KSession::~KSession() = default; | 16 | KSession::~KSession() = default; |
17 | 17 | ||
18 | void KSession::Initialize(KClientPort* port_, const std::string& name_) { | 18 | void KSession::Initialize(KClientPort* port_, const std::string& name_) { |
diff --git a/src/core/hle/kernel/k_session.h b/src/core/hle/kernel/k_session.h index 4321b7885..16901e19c 100755 --- a/src/core/hle/kernel/k_session.h +++ b/src/core/hle/kernel/k_session.h | |||
@@ -17,7 +17,7 @@ class KSession final : public KAutoObjectWithSlabHeapAndContainer<KSession, KAut | |||
17 | KERNEL_AUTOOBJECT_TRAITS(KSession, KAutoObject); | 17 | KERNEL_AUTOOBJECT_TRAITS(KSession, KAutoObject); |
18 | 18 | ||
19 | public: | 19 | public: |
20 | explicit KSession(KernelCore& kernel); | 20 | explicit KSession(KernelCore& kernel_); |
21 | virtual ~KSession() override; | 21 | virtual ~KSession() override; |
22 | 22 | ||
23 | void Initialize(KClientPort* port_, const std::string& name_); | 23 | void Initialize(KClientPort* port_, const std::string& name_); |
diff --git a/src/core/hle/kernel/k_shared_memory.cpp b/src/core/hle/kernel/k_shared_memory.cpp index 1da57a4c3..7770b1868 100755 --- a/src/core/hle/kernel/k_shared_memory.cpp +++ b/src/core/hle/kernel/k_shared_memory.cpp | |||
@@ -12,14 +12,14 @@ | |||
12 | 12 | ||
13 | namespace Kernel { | 13 | namespace Kernel { |
14 | 14 | ||
15 | KSharedMemory::KSharedMemory(KernelCore& kernel) : KAutoObjectWithSlabHeapAndContainer{kernel} {} | 15 | KSharedMemory::KSharedMemory(KernelCore& kernel_) : KAutoObjectWithSlabHeapAndContainer{kernel_} {} |
16 | 16 | ||
17 | KSharedMemory::~KSharedMemory() { | 17 | KSharedMemory::~KSharedMemory() { |
18 | kernel.GetSystemResourceLimit()->Release(LimitableResource::PhysicalMemory, size); | 18 | kernel.GetSystemResourceLimit()->Release(LimitableResource::PhysicalMemory, size); |
19 | } | 19 | } |
20 | 20 | ||
21 | ResultCode KSharedMemory::Initialize(KernelCore& kernel_, Core::DeviceMemory& device_memory_, | 21 | ResultCode KSharedMemory::Initialize(Core::DeviceMemory& device_memory_, KProcess* owner_process_, |
22 | KProcess* owner_process_, KPageLinkedList&& page_list_, | 22 | KPageLinkedList&& page_list_, |
23 | Svc::MemoryPermission owner_permission_, | 23 | Svc::MemoryPermission owner_permission_, |
24 | Svc::MemoryPermission user_permission_, | 24 | Svc::MemoryPermission user_permission_, |
25 | PAddr physical_address_, std::size_t size_, | 25 | PAddr physical_address_, std::size_t size_, |
@@ -32,7 +32,7 @@ ResultCode KSharedMemory::Initialize(KernelCore& kernel_, Core::DeviceMemory& de | |||
32 | user_permission = user_permission_; | 32 | user_permission = user_permission_; |
33 | physical_address = physical_address_; | 33 | physical_address = physical_address_; |
34 | size = size_; | 34 | size = size_; |
35 | name = name_; | 35 | name = std::move(name_); |
36 | 36 | ||
37 | // Get the resource limit. | 37 | // Get the resource limit. |
38 | KResourceLimit* reslimit = kernel.GetSystemResourceLimit(); | 38 | KResourceLimit* reslimit = kernel.GetSystemResourceLimit(); |
@@ -67,9 +67,9 @@ void KSharedMemory::Finalize() { | |||
67 | KAutoObjectWithSlabHeapAndContainer<KSharedMemory, KAutoObjectWithList>::Finalize(); | 67 | KAutoObjectWithSlabHeapAndContainer<KSharedMemory, KAutoObjectWithList>::Finalize(); |
68 | } | 68 | } |
69 | 69 | ||
70 | ResultCode KSharedMemory::Map(KProcess& target_process, VAddr address, std::size_t size, | 70 | ResultCode KSharedMemory::Map(KProcess& target_process, VAddr address, std::size_t map_size, |
71 | Svc::MemoryPermission permissions) { | 71 | Svc::MemoryPermission permissions) { |
72 | const u64 page_count{(size + PageSize - 1) / PageSize}; | 72 | const u64 page_count{(map_size + PageSize - 1) / PageSize}; |
73 | 73 | ||
74 | if (page_list.GetNumPages() != page_count) { | 74 | if (page_list.GetNumPages() != page_count) { |
75 | UNIMPLEMENTED_MSG("Page count does not match"); | 75 | UNIMPLEMENTED_MSG("Page count does not match"); |
@@ -86,8 +86,8 @@ ResultCode KSharedMemory::Map(KProcess& target_process, VAddr address, std::size | |||
86 | ConvertToKMemoryPermission(permissions)); | 86 | ConvertToKMemoryPermission(permissions)); |
87 | } | 87 | } |
88 | 88 | ||
89 | ResultCode KSharedMemory::Unmap(KProcess& target_process, VAddr address, std::size_t size) { | 89 | ResultCode KSharedMemory::Unmap(KProcess& target_process, VAddr address, std::size_t unmap_size) { |
90 | const u64 page_count{(size + PageSize - 1) / PageSize}; | 90 | const u64 page_count{(unmap_size + PageSize - 1) / PageSize}; |
91 | 91 | ||
92 | if (page_list.GetNumPages() != page_count) { | 92 | if (page_list.GetNumPages() != page_count) { |
93 | UNIMPLEMENTED_MSG("Page count does not match"); | 93 | UNIMPLEMENTED_MSG("Page count does not match"); |
diff --git a/src/core/hle/kernel/k_shared_memory.h b/src/core/hle/kernel/k_shared_memory.h index 28939c93c..553a56327 100755 --- a/src/core/hle/kernel/k_shared_memory.h +++ b/src/core/hle/kernel/k_shared_memory.h | |||
@@ -24,12 +24,11 @@ class KSharedMemory final | |||
24 | KERNEL_AUTOOBJECT_TRAITS(KSharedMemory, KAutoObject); | 24 | KERNEL_AUTOOBJECT_TRAITS(KSharedMemory, KAutoObject); |
25 | 25 | ||
26 | public: | 26 | public: |
27 | explicit KSharedMemory(KernelCore& kernel); | 27 | explicit KSharedMemory(KernelCore& kernel_); |
28 | ~KSharedMemory() override; | 28 | ~KSharedMemory() override; |
29 | 29 | ||
30 | ResultCode Initialize(KernelCore& kernel_, Core::DeviceMemory& device_memory_, | 30 | ResultCode Initialize(Core::DeviceMemory& device_memory_, KProcess* owner_process_, |
31 | KProcess* owner_process_, KPageLinkedList&& page_list_, | 31 | KPageLinkedList&& page_list_, Svc::MemoryPermission owner_permission_, |
32 | Svc::MemoryPermission owner_permission_, | ||
33 | Svc::MemoryPermission user_permission_, PAddr physical_address_, | 32 | Svc::MemoryPermission user_permission_, PAddr physical_address_, |
34 | std::size_t size_, std::string name_); | 33 | std::size_t size_, std::string name_); |
35 | 34 | ||
@@ -37,19 +36,19 @@ public: | |||
37 | * Maps a shared memory block to an address in the target process' address space | 36 | * Maps a shared memory block to an address in the target process' address space |
38 | * @param target_process Process on which to map the memory block | 37 | * @param target_process Process on which to map the memory block |
39 | * @param address Address in system memory to map shared memory block to | 38 | * @param address Address in system memory to map shared memory block to |
40 | * @param size Size of the shared memory block to map | 39 | * @param map_size Size of the shared memory block to map |
41 | * @param permissions Memory block map permissions (specified by SVC field) | 40 | * @param permissions Memory block map permissions (specified by SVC field) |
42 | */ | 41 | */ |
43 | ResultCode Map(KProcess& target_process, VAddr address, std::size_t size, | 42 | ResultCode Map(KProcess& target_process, VAddr address, std::size_t map_size, |
44 | Svc::MemoryPermission permissions); | 43 | Svc::MemoryPermission permissions); |
45 | 44 | ||
46 | /** | 45 | /** |
47 | * Unmaps a shared memory block from an address in the target process' address space | 46 | * Unmaps a shared memory block from an address in the target process' address space |
48 | * @param target_process Process on which to unmap the memory block | 47 | * @param target_process Process on which to unmap the memory block |
49 | * @param address Address in system memory to unmap shared memory block | 48 | * @param address Address in system memory to unmap shared memory block |
50 | * @param size Size of the shared memory block to unmap | 49 | * @param unmap_size Size of the shared memory block to unmap |
51 | */ | 50 | */ |
52 | ResultCode Unmap(KProcess& target_process, VAddr address, std::size_t size); | 51 | ResultCode Unmap(KProcess& target_process, VAddr address, std::size_t unmap_size); |
53 | 52 | ||
54 | /** | 53 | /** |
55 | * Gets a pointer to the shared memory block | 54 | * Gets a pointer to the shared memory block |
diff --git a/src/core/hle/kernel/k_synchronization_object.cpp b/src/core/hle/kernel/k_synchronization_object.cpp index 460b8a714..45380dea0 100755 --- a/src/core/hle/kernel/k_synchronization_object.cpp +++ b/src/core/hle/kernel/k_synchronization_object.cpp | |||
@@ -18,18 +18,18 @@ void KSynchronizationObject::Finalize() { | |||
18 | KAutoObject::Finalize(); | 18 | KAutoObject::Finalize(); |
19 | } | 19 | } |
20 | 20 | ||
21 | ResultCode KSynchronizationObject::Wait(KernelCore& kernel, s32* out_index, | 21 | ResultCode KSynchronizationObject::Wait(KernelCore& kernel_ctx, s32* out_index, |
22 | KSynchronizationObject** objects, const s32 num_objects, | 22 | KSynchronizationObject** objects, const s32 num_objects, |
23 | s64 timeout) { | 23 | s64 timeout) { |
24 | // Allocate space on stack for thread nodes. | 24 | // Allocate space on stack for thread nodes. |
25 | std::vector<ThreadListNode> thread_nodes(num_objects); | 25 | std::vector<ThreadListNode> thread_nodes(num_objects); |
26 | 26 | ||
27 | // Prepare for wait. | 27 | // Prepare for wait. |
28 | KThread* thread = kernel.CurrentScheduler()->GetCurrentThread(); | 28 | KThread* thread = kernel_ctx.CurrentScheduler()->GetCurrentThread(); |
29 | 29 | ||
30 | { | 30 | { |
31 | // Setup the scheduling lock and sleep. | 31 | // Setup the scheduling lock and sleep. |
32 | KScopedSchedulerLockAndSleep slp{kernel, thread, timeout}; | 32 | KScopedSchedulerLockAndSleep slp{kernel_ctx, thread, timeout}; |
33 | 33 | ||
34 | // Check if any of the objects are already signaled. | 34 | // Check if any of the objects are already signaled. |
35 | for (auto i = 0; i < num_objects; ++i) { | 35 | for (auto i = 0; i < num_objects; ++i) { |
@@ -94,13 +94,13 @@ ResultCode KSynchronizationObject::Wait(KernelCore& kernel, s32* out_index, | |||
94 | thread->SetWaitObjectsForDebugging({}); | 94 | thread->SetWaitObjectsForDebugging({}); |
95 | 95 | ||
96 | // Cancel the timer as needed. | 96 | // Cancel the timer as needed. |
97 | kernel.TimeManager().UnscheduleTimeEvent(thread); | 97 | kernel_ctx.TimeManager().UnscheduleTimeEvent(thread); |
98 | 98 | ||
99 | // Get the wait result. | 99 | // Get the wait result. |
100 | ResultCode wait_result{RESULT_SUCCESS}; | 100 | ResultCode wait_result{RESULT_SUCCESS}; |
101 | s32 sync_index = -1; | 101 | s32 sync_index = -1; |
102 | { | 102 | { |
103 | KScopedSchedulerLock lock(kernel); | 103 | KScopedSchedulerLock lock(kernel_ctx); |
104 | KSynchronizationObject* synced_obj; | 104 | KSynchronizationObject* synced_obj; |
105 | wait_result = thread->GetWaitResult(std::addressof(synced_obj)); | 105 | wait_result = thread->GetWaitResult(std::addressof(synced_obj)); |
106 | 106 | ||
@@ -135,7 +135,8 @@ ResultCode KSynchronizationObject::Wait(KernelCore& kernel, s32* out_index, | |||
135 | return wait_result; | 135 | return wait_result; |
136 | } | 136 | } |
137 | 137 | ||
138 | KSynchronizationObject::KSynchronizationObject(KernelCore& kernel) : KAutoObjectWithList{kernel} {} | 138 | KSynchronizationObject::KSynchronizationObject(KernelCore& kernel_) |
139 | : KAutoObjectWithList{kernel_} {} | ||
139 | 140 | ||
140 | KSynchronizationObject::~KSynchronizationObject() = default; | 141 | KSynchronizationObject::~KSynchronizationObject() = default; |
141 | 142 | ||
diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp index ef6dfeeca..e3f08f256 100755 --- a/src/core/hle/kernel/k_thread.cpp +++ b/src/core/hle/kernel/k_thread.cpp | |||
@@ -60,8 +60,8 @@ static void ResetThreadContext64(Core::ARM_Interface::ThreadContext64& context, | |||
60 | 60 | ||
61 | namespace Kernel { | 61 | namespace Kernel { |
62 | 62 | ||
63 | KThread::KThread(KernelCore& kernel) | 63 | KThread::KThread(KernelCore& kernel_) |
64 | : KAutoObjectWithSlabHeapAndContainer{kernel}, activity_pause_lock{kernel} {} | 64 | : KAutoObjectWithSlabHeapAndContainer{kernel_}, activity_pause_lock{kernel_} {} |
65 | KThread::~KThread() = default; | 65 | KThread::~KThread() = default; |
66 | 66 | ||
67 | ResultCode KThread::Initialize(KThreadFunction func, uintptr_t arg, VAddr user_stack_top, s32 prio, | 67 | ResultCode KThread::Initialize(KThreadFunction func, uintptr_t arg, VAddr user_stack_top, s32 prio, |
@@ -479,7 +479,7 @@ ResultCode KThread::GetPhysicalCoreMask(s32* out_ideal_core, u64* out_affinity_m | |||
479 | return RESULT_SUCCESS; | 479 | return RESULT_SUCCESS; |
480 | } | 480 | } |
481 | 481 | ||
482 | ResultCode KThread::SetCoreMask(s32 core_id, u64 v_affinity_mask) { | 482 | ResultCode KThread::SetCoreMask(s32 cpu_core_id, u64 v_affinity_mask) { |
483 | ASSERT(parent != nullptr); | 483 | ASSERT(parent != nullptr); |
484 | ASSERT(v_affinity_mask != 0); | 484 | ASSERT(v_affinity_mask != 0); |
485 | KScopedLightLock lk{activity_pause_lock}; | 485 | KScopedLightLock lk{activity_pause_lock}; |
@@ -491,18 +491,18 @@ ResultCode KThread::SetCoreMask(s32 core_id, u64 v_affinity_mask) { | |||
491 | ASSERT(num_core_migration_disables >= 0); | 491 | ASSERT(num_core_migration_disables >= 0); |
492 | 492 | ||
493 | // If the core id is no-update magic, preserve the ideal core id. | 493 | // If the core id is no-update magic, preserve the ideal core id. |
494 | if (core_id == Svc::IdealCoreNoUpdate) { | 494 | if (cpu_core_id == Svc::IdealCoreNoUpdate) { |
495 | core_id = virtual_ideal_core_id; | 495 | cpu_core_id = virtual_ideal_core_id; |
496 | R_UNLESS(((1ULL << core_id) & v_affinity_mask) != 0, ResultInvalidCombination); | 496 | R_UNLESS(((1ULL << cpu_core_id) & v_affinity_mask) != 0, ResultInvalidCombination); |
497 | } | 497 | } |
498 | 498 | ||
499 | // Set the virtual core/affinity mask. | 499 | // Set the virtual core/affinity mask. |
500 | virtual_ideal_core_id = core_id; | 500 | virtual_ideal_core_id = cpu_core_id; |
501 | virtual_affinity_mask = v_affinity_mask; | 501 | virtual_affinity_mask = v_affinity_mask; |
502 | 502 | ||
503 | // Translate the virtual core to a physical core. | 503 | // Translate the virtual core to a physical core. |
504 | if (core_id >= 0) { | 504 | if (cpu_core_id >= 0) { |
505 | core_id = Core::Hardware::VirtualToPhysicalCoreMap[core_id]; | 505 | cpu_core_id = Core::Hardware::VirtualToPhysicalCoreMap[cpu_core_id]; |
506 | } | 506 | } |
507 | 507 | ||
508 | // Translate the virtual affinity mask to a physical one. | 508 | // Translate the virtual affinity mask to a physical one. |
@@ -517,7 +517,7 @@ ResultCode KThread::SetCoreMask(s32 core_id, u64 v_affinity_mask) { | |||
517 | const KAffinityMask old_mask = physical_affinity_mask; | 517 | const KAffinityMask old_mask = physical_affinity_mask; |
518 | 518 | ||
519 | // Set our new ideals. | 519 | // Set our new ideals. |
520 | physical_ideal_core_id = core_id; | 520 | physical_ideal_core_id = cpu_core_id; |
521 | physical_affinity_mask.SetAffinityMask(p_affinity_mask); | 521 | physical_affinity_mask.SetAffinityMask(p_affinity_mask); |
522 | 522 | ||
523 | if (physical_affinity_mask.GetAffinityMask() != old_mask.GetAffinityMask()) { | 523 | if (physical_affinity_mask.GetAffinityMask() != old_mask.GetAffinityMask()) { |
@@ -535,7 +535,7 @@ ResultCode KThread::SetCoreMask(s32 core_id, u64 v_affinity_mask) { | |||
535 | } | 535 | } |
536 | } else { | 536 | } else { |
537 | // Otherwise, we edit the original affinity for restoration later. | 537 | // Otherwise, we edit the original affinity for restoration later. |
538 | original_physical_ideal_core_id = core_id; | 538 | original_physical_ideal_core_id = cpu_core_id; |
539 | original_physical_affinity_mask.SetAffinityMask(p_affinity_mask); | 539 | original_physical_affinity_mask.SetAffinityMask(p_affinity_mask); |
540 | } | 540 | } |
541 | } | 541 | } |
@@ -851,8 +851,8 @@ void KThread::RemoveWaiterImpl(KThread* thread) { | |||
851 | thread->SetLockOwner(nullptr); | 851 | thread->SetLockOwner(nullptr); |
852 | } | 852 | } |
853 | 853 | ||
854 | void KThread::RestorePriority(KernelCore& kernel, KThread* thread) { | 854 | void KThread::RestorePriority(KernelCore& kernel_ctx, KThread* thread) { |
855 | ASSERT(kernel.GlobalSchedulerContext().IsLocked()); | 855 | ASSERT(kernel_ctx.GlobalSchedulerContext().IsLocked()); |
856 | 856 | ||
857 | while (true) { | 857 | while (true) { |
858 | // We want to inherit priority where possible. | 858 | // We want to inherit priority where possible. |
@@ -868,7 +868,7 @@ void KThread::RestorePriority(KernelCore& kernel, KThread* thread) { | |||
868 | 868 | ||
869 | // Ensure we don't violate condition variable red black tree invariants. | 869 | // Ensure we don't violate condition variable red black tree invariants. |
870 | if (auto* cv_tree = thread->GetConditionVariableTree(); cv_tree != nullptr) { | 870 | if (auto* cv_tree = thread->GetConditionVariableTree(); cv_tree != nullptr) { |
871 | BeforeUpdatePriority(kernel, cv_tree, thread); | 871 | BeforeUpdatePriority(kernel_ctx, cv_tree, thread); |
872 | } | 872 | } |
873 | 873 | ||
874 | // Change the priority. | 874 | // Change the priority. |
@@ -877,11 +877,11 @@ void KThread::RestorePriority(KernelCore& kernel, KThread* thread) { | |||
877 | 877 | ||
878 | // Restore the condition variable, if relevant. | 878 | // Restore the condition variable, if relevant. |
879 | if (auto* cv_tree = thread->GetConditionVariableTree(); cv_tree != nullptr) { | 879 | if (auto* cv_tree = thread->GetConditionVariableTree(); cv_tree != nullptr) { |
880 | AfterUpdatePriority(kernel, cv_tree, thread); | 880 | AfterUpdatePriority(kernel_ctx, cv_tree, thread); |
881 | } | 881 | } |
882 | 882 | ||
883 | // Update the scheduler. | 883 | // Update the scheduler. |
884 | KScheduler::OnThreadPriorityChanged(kernel, thread, old_priority); | 884 | KScheduler::OnThreadPriorityChanged(kernel_ctx, thread, old_priority); |
885 | 885 | ||
886 | // Keep the lock owner up to date. | 886 | // Keep the lock owner up to date. |
887 | KThread* lock_owner = thread->GetLockOwner(); | 887 | KThread* lock_owner = thread->GetLockOwner(); |
diff --git a/src/core/hle/kernel/k_thread.h b/src/core/hle/kernel/k_thread.h index 4145ef56c..4abfc2b49 100755 --- a/src/core/hle/kernel/k_thread.h +++ b/src/core/hle/kernel/k_thread.h | |||
@@ -111,7 +111,7 @@ public: | |||
111 | static constexpr s32 DefaultThreadPriority = 44; | 111 | static constexpr s32 DefaultThreadPriority = 44; |
112 | static constexpr s32 IdleThreadPriority = Svc::LowestThreadPriority + 1; | 112 | static constexpr s32 IdleThreadPriority = Svc::LowestThreadPriority + 1; |
113 | 113 | ||
114 | explicit KThread(KernelCore& kernel); | 114 | explicit KThread(KernelCore& kernel_); |
115 | ~KThread() override; | 115 | ~KThread() override; |
116 | 116 | ||
117 | public: | 117 | public: |
@@ -318,7 +318,7 @@ public: | |||
318 | 318 | ||
319 | [[nodiscard]] ResultCode GetPhysicalCoreMask(s32* out_ideal_core, u64* out_affinity_mask); | 319 | [[nodiscard]] ResultCode GetPhysicalCoreMask(s32* out_ideal_core, u64* out_affinity_mask); |
320 | 320 | ||
321 | [[nodiscard]] ResultCode SetCoreMask(s32 core_id, u64 v_affinity_mask); | 321 | [[nodiscard]] ResultCode SetCoreMask(s32 cpu_core_id, u64 v_affinity_mask); |
322 | 322 | ||
323 | [[nodiscard]] ResultCode SetActivity(Svc::ThreadActivity activity); | 323 | [[nodiscard]] ResultCode SetActivity(Svc::ThreadActivity activity); |
324 | 324 | ||
@@ -649,7 +649,7 @@ private: | |||
649 | std::function<void(void*)>&& init_func, | 649 | std::function<void(void*)>&& init_func, |
650 | void* init_func_parameter); | 650 | void* init_func_parameter); |
651 | 651 | ||
652 | static void RestorePriority(KernelCore& kernel, KThread* thread); | 652 | static void RestorePriority(KernelCore& kernel_ctx, KThread* thread); |
653 | 653 | ||
654 | // For core KThread implementation | 654 | // For core KThread implementation |
655 | ThreadContext32 thread_context_32{}; | 655 | ThreadContext32 thread_context_32{}; |
diff --git a/src/core/hle/kernel/k_transfer_memory.cpp b/src/core/hle/kernel/k_transfer_memory.cpp index 201617d32..5bc33706d 100755 --- a/src/core/hle/kernel/k_transfer_memory.cpp +++ b/src/core/hle/kernel/k_transfer_memory.cpp | |||
@@ -9,8 +9,8 @@ | |||
9 | 9 | ||
10 | namespace Kernel { | 10 | namespace Kernel { |
11 | 11 | ||
12 | KTransferMemory::KTransferMemory(KernelCore& kernel) | 12 | KTransferMemory::KTransferMemory(KernelCore& kernel_) |
13 | : KAutoObjectWithSlabHeapAndContainer{kernel} {} | 13 | : KAutoObjectWithSlabHeapAndContainer{kernel_} {} |
14 | 14 | ||
15 | KTransferMemory::~KTransferMemory() = default; | 15 | KTransferMemory::~KTransferMemory() = default; |
16 | 16 | ||
diff --git a/src/core/hle/kernel/k_transfer_memory.h b/src/core/hle/kernel/k_transfer_memory.h index f56398b9c..838fd2b18 100755 --- a/src/core/hle/kernel/k_transfer_memory.h +++ b/src/core/hle/kernel/k_transfer_memory.h | |||
@@ -26,7 +26,7 @@ class KTransferMemory final | |||
26 | KERNEL_AUTOOBJECT_TRAITS(KTransferMemory, KAutoObject); | 26 | KERNEL_AUTOOBJECT_TRAITS(KTransferMemory, KAutoObject); |
27 | 27 | ||
28 | public: | 28 | public: |
29 | explicit KTransferMemory(KernelCore& kernel); | 29 | explicit KTransferMemory(KernelCore& kernel_); |
30 | virtual ~KTransferMemory() override; | 30 | virtual ~KTransferMemory() override; |
31 | 31 | ||
32 | ResultCode Initialize(VAddr address_, std::size_t size_, Svc::MemoryPermission owner_perm_); | 32 | ResultCode Initialize(VAddr address_, std::size_t size_, Svc::MemoryPermission owner_perm_); |
diff --git a/src/core/hle/kernel/k_writable_event.cpp b/src/core/hle/kernel/k_writable_event.cpp index a430e0661..b7b83c151 100755 --- a/src/core/hle/kernel/k_writable_event.cpp +++ b/src/core/hle/kernel/k_writable_event.cpp | |||
@@ -8,7 +8,8 @@ | |||
8 | 8 | ||
9 | namespace Kernel { | 9 | namespace Kernel { |
10 | 10 | ||
11 | KWritableEvent::KWritableEvent(KernelCore& kernel) : KAutoObjectWithSlabHeapAndContainer{kernel} {} | 11 | KWritableEvent::KWritableEvent(KernelCore& kernel_) |
12 | : KAutoObjectWithSlabHeapAndContainer{kernel_} {} | ||
12 | 13 | ||
13 | KWritableEvent::~KWritableEvent() = default; | 14 | KWritableEvent::~KWritableEvent() = default; |
14 | 15 | ||
diff --git a/src/core/hle/kernel/k_writable_event.h b/src/core/hle/kernel/k_writable_event.h index 154d2382c..607b0eadb 100755 --- a/src/core/hle/kernel/k_writable_event.h +++ b/src/core/hle/kernel/k_writable_event.h | |||
@@ -18,7 +18,7 @@ class KWritableEvent final | |||
18 | KERNEL_AUTOOBJECT_TRAITS(KWritableEvent, KAutoObject); | 18 | KERNEL_AUTOOBJECT_TRAITS(KWritableEvent, KAutoObject); |
19 | 19 | ||
20 | public: | 20 | public: |
21 | explicit KWritableEvent(KernelCore& kernel); | 21 | explicit KWritableEvent(KernelCore& kernel_); |
22 | ~KWritableEvent() override; | 22 | ~KWritableEvent() override; |
23 | 23 | ||
24 | virtual void Destroy() override; | 24 | virtual void Destroy() override; |
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 32bbf2d9b..bd4e4d350 100755 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp | |||
@@ -51,11 +51,11 @@ MICROPROFILE_DEFINE(Kernel_SVC, "Kernel", "SVC", MP_RGB(70, 200, 70)); | |||
51 | namespace Kernel { | 51 | namespace Kernel { |
52 | 52 | ||
53 | struct KernelCore::Impl { | 53 | struct KernelCore::Impl { |
54 | explicit Impl(Core::System& system, KernelCore& kernel) | 54 | explicit Impl(Core::System& system_, KernelCore& kernel_) |
55 | : time_manager{system}, object_list_container{kernel}, system{system} {} | 55 | : time_manager{system_}, object_list_container{kernel_}, system{system_} {} |
56 | 56 | ||
57 | void SetMulticore(bool is_multicore) { | 57 | void SetMulticore(bool is_multi) { |
58 | this->is_multicore = is_multicore; | 58 | is_multicore = is_multi; |
59 | } | 59 | } |
60 | 60 | ||
61 | void Initialize(KernelCore& kernel) { | 61 | void Initialize(KernelCore& kernel) { |
@@ -599,19 +599,19 @@ struct KernelCore::Impl { | |||
599 | irs_shared_mem = KSharedMemory::Create(system.Kernel()); | 599 | irs_shared_mem = KSharedMemory::Create(system.Kernel()); |
600 | time_shared_mem = KSharedMemory::Create(system.Kernel()); | 600 | time_shared_mem = KSharedMemory::Create(system.Kernel()); |
601 | 601 | ||
602 | hid_shared_mem->Initialize(system.Kernel(), system.DeviceMemory(), nullptr, | 602 | hid_shared_mem->Initialize(system.DeviceMemory(), nullptr, |
603 | {hid_phys_addr, hid_size / PageSize}, | 603 | {hid_phys_addr, hid_size / PageSize}, |
604 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, | 604 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, |
605 | hid_phys_addr, hid_size, "HID:SharedMemory"); | 605 | hid_phys_addr, hid_size, "HID:SharedMemory"); |
606 | font_shared_mem->Initialize(system.Kernel(), system.DeviceMemory(), nullptr, | 606 | font_shared_mem->Initialize(system.DeviceMemory(), nullptr, |
607 | {font_phys_addr, font_size / PageSize}, | 607 | {font_phys_addr, font_size / PageSize}, |
608 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, | 608 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, |
609 | font_phys_addr, font_size, "Font:SharedMemory"); | 609 | font_phys_addr, font_size, "Font:SharedMemory"); |
610 | irs_shared_mem->Initialize(system.Kernel(), system.DeviceMemory(), nullptr, | 610 | irs_shared_mem->Initialize(system.DeviceMemory(), nullptr, |
611 | {irs_phys_addr, irs_size / PageSize}, | 611 | {irs_phys_addr, irs_size / PageSize}, |
612 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, | 612 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, |
613 | irs_phys_addr, irs_size, "IRS:SharedMemory"); | 613 | irs_phys_addr, irs_size, "IRS:SharedMemory"); |
614 | time_shared_mem->Initialize(system.Kernel(), system.DeviceMemory(), nullptr, | 614 | time_shared_mem->Initialize(system.DeviceMemory(), nullptr, |
615 | {time_phys_addr, time_size / PageSize}, | 615 | {time_phys_addr, time_size / PageSize}, |
616 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, | 616 | Svc::MemoryPermission::None, Svc::MemoryPermission::Read, |
617 | time_phys_addr, time_size, "Time:SharedMemory"); | 617 | time_phys_addr, time_size, "Time:SharedMemory"); |