summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/kernel/address_arbiter.cpp2
-rw-r--r--src/core/hle/kernel/hle_ipc.cpp6
-rw-r--r--src/core/hle/kernel/hle_ipc.h4
-rw-r--r--src/core/hle/kernel/object_address_table.cpp4
-rw-r--r--src/core/hle/kernel/scheduler.cpp4
-rw-r--r--src/core/hle/kernel/server_session.cpp3
-rw-r--r--src/core/hle/kernel/shared_memory.cpp6
-rw-r--r--src/core/hle/kernel/thread.cpp2
-rw-r--r--src/core/hle/kernel/vm_manager.cpp5
-rw-r--r--src/core/memory.cpp8
10 files changed, 27 insertions, 17 deletions
diff --git a/src/core/hle/kernel/address_arbiter.cpp b/src/core/hle/kernel/address_arbiter.cpp
index d5df9590a..dcc68aabf 100644
--- a/src/core/hle/kernel/address_arbiter.cpp
+++ b/src/core/hle/kernel/address_arbiter.cpp
@@ -65,7 +65,7 @@ static void WakeThreads(std::vector<SharedPtr<Thread>>& waiting_threads, s32 num
65 65
66 // Signal the waiting threads. 66 // Signal the waiting threads.
67 for (size_t i = 0; i < last; i++) { 67 for (size_t i = 0; i < last; i++) {
68 ASSERT(waiting_threads[i]->status = THREADSTATUS_WAIT_ARB); 68 ASSERT(waiting_threads[i]->status == THREADSTATUS_WAIT_ARB);
69 waiting_threads[i]->SetWaitSynchronizationResult(RESULT_SUCCESS); 69 waiting_threads[i]->SetWaitSynchronizationResult(RESULT_SUCCESS);
70 waiting_threads[i]->arb_wait_address = 0; 70 waiting_threads[i]->arb_wait_address = 0;
71 waiting_threads[i]->ResumeFromWait(); 71 waiting_threads[i]->ResumeFromWait();
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp
index b1e6f565b..b89c8c33d 100644
--- a/src/core/hle/kernel/hle_ipc.cpp
+++ b/src/core/hle/kernel/hle_ipc.cpp
@@ -2,6 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <utility>
6
5#include <boost/range/algorithm_ext/erase.hpp> 7#include <boost/range/algorithm_ext/erase.hpp>
6#include "common/assert.h" 8#include "common/assert.h"
7#include "common/common_funcs.h" 9#include "common/common_funcs.h"
@@ -19,10 +21,10 @@ namespace Kernel {
19 21
20void SessionRequestHandler::ClientConnected(SharedPtr<ServerSession> server_session) { 22void SessionRequestHandler::ClientConnected(SharedPtr<ServerSession> server_session) {
21 server_session->SetHleHandler(shared_from_this()); 23 server_session->SetHleHandler(shared_from_this());
22 connected_sessions.push_back(server_session); 24 connected_sessions.push_back(std::move(server_session));
23} 25}
24 26
25void SessionRequestHandler::ClientDisconnected(SharedPtr<ServerSession> server_session) { 27void SessionRequestHandler::ClientDisconnected(const SharedPtr<ServerSession>& server_session) {
26 server_session->SetHleHandler(nullptr); 28 server_session->SetHleHandler(nullptr);
27 boost::range::remove_erase(connected_sessions, server_session); 29 boost::range::remove_erase(connected_sessions, server_session);
28} 30}
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h
index c6eca7404..88f93ad22 100644
--- a/src/core/hle/kernel/hle_ipc.h
+++ b/src/core/hle/kernel/hle_ipc.h
@@ -59,12 +59,12 @@ public:
59 * associated ServerSession. 59 * associated ServerSession.
60 * @param server_session ServerSession associated with the connection. 60 * @param server_session ServerSession associated with the connection.
61 */ 61 */
62 void ClientDisconnected(SharedPtr<ServerSession> server_session); 62 void ClientDisconnected(const SharedPtr<ServerSession>& server_session);
63 63
64protected: 64protected:
65 /// List of sessions that are connected to this handler. 65 /// List of sessions that are connected to this handler.
66 /// A ServerSession whose server endpoint is an HLE implementation is kept alive by this list 66 /// A ServerSession whose server endpoint is an HLE implementation is kept alive by this list
67 // for the duration of the connection. 67 /// for the duration of the connection.
68 std::vector<SharedPtr<ServerSession>> connected_sessions; 68 std::vector<SharedPtr<ServerSession>> connected_sessions;
69}; 69};
70 70
diff --git a/src/core/hle/kernel/object_address_table.cpp b/src/core/hle/kernel/object_address_table.cpp
index ec97f6f8e..ca8a833a1 100644
--- a/src/core/hle/kernel/object_address_table.cpp
+++ b/src/core/hle/kernel/object_address_table.cpp
@@ -2,6 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <utility>
6
5#include "common/assert.h" 7#include "common/assert.h"
6#include "core/hle/kernel/object_address_table.h" 8#include "core/hle/kernel/object_address_table.h"
7 9
@@ -11,7 +13,7 @@ ObjectAddressTable g_object_address_table;
11 13
12void ObjectAddressTable::Insert(VAddr addr, SharedPtr<Object> obj) { 14void ObjectAddressTable::Insert(VAddr addr, SharedPtr<Object> obj) {
13 ASSERT_MSG(objects.find(addr) == objects.end(), "Object already exists with addr=0x{:X}", addr); 15 ASSERT_MSG(objects.find(addr) == objects.end(), "Object already exists with addr=0x{:X}", addr);
14 objects[addr] = obj; 16 objects[addr] = std::move(obj);
15} 17}
16 18
17void ObjectAddressTable::Close(VAddr addr) { 19void ObjectAddressTable::Close(VAddr addr) {
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp
index ca8807e19..1f4abfbe8 100644
--- a/src/core/hle/kernel/scheduler.cpp
+++ b/src/core/hle/kernel/scheduler.cpp
@@ -2,6 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <utility>
6
5#include "core/core.h" 7#include "core/core.h"
6#include "core/core_timing.h" 8#include "core/core_timing.h"
7#include "core/hle/kernel/process.h" 9#include "core/hle/kernel/process.h"
@@ -113,7 +115,7 @@ void Scheduler::Reschedule() {
113void Scheduler::AddThread(SharedPtr<Thread> thread, u32 priority) { 115void Scheduler::AddThread(SharedPtr<Thread> thread, u32 priority) {
114 std::lock_guard<std::mutex> lock(scheduler_mutex); 116 std::lock_guard<std::mutex> lock(scheduler_mutex);
115 117
116 thread_list.push_back(thread); 118 thread_list.push_back(std::move(thread));
117 ready_queue.prepare(priority); 119 ready_queue.prepare(priority);
118} 120}
119 121
diff --git a/src/core/hle/kernel/server_session.cpp b/src/core/hle/kernel/server_session.cpp
index 0d5cba1d9..19d17af4f 100644
--- a/src/core/hle/kernel/server_session.cpp
+++ b/src/core/hle/kernel/server_session.cpp
@@ -3,6 +3,7 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <tuple> 5#include <tuple>
6#include <utility>
6 7
7#include "core/core.h" 8#include "core/core.h"
8#include "core/hle/ipc_helpers.h" 9#include "core/hle/ipc_helpers.h"
@@ -158,7 +159,7 @@ ServerSession::SessionPair ServerSession::CreateSessionPair(const std::string& n
158 std::shared_ptr<Session> parent(new Session); 159 std::shared_ptr<Session> parent(new Session);
159 parent->client = client_session.get(); 160 parent->client = client_session.get();
160 parent->server = server_session.get(); 161 parent->server = server_session.get();
161 parent->port = port; 162 parent->port = std::move(port);
162 163
163 client_session->parent = parent; 164 client_session->parent = parent;
164 server_session->parent = parent; 165 server_session->parent = parent;
diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp
index 93f7f2772..4bf11c7e2 100644
--- a/src/core/hle/kernel/shared_memory.cpp
+++ b/src/core/hle/kernel/shared_memory.cpp
@@ -2,7 +2,7 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <cstring> 5#include <utility>
6#include "common/logging/log.h" 6#include "common/logging/log.h"
7#include "core/core.h" 7#include "core/core.h"
8#include "core/hle/kernel/errors.h" 8#include "core/hle/kernel/errors.h"
@@ -21,7 +21,7 @@ SharedPtr<SharedMemory> SharedMemory::Create(SharedPtr<Process> owner_process, u
21 MemoryRegion region, std::string name) { 21 MemoryRegion region, std::string name) {
22 SharedPtr<SharedMemory> shared_memory(new SharedMemory); 22 SharedPtr<SharedMemory> shared_memory(new SharedMemory);
23 23
24 shared_memory->owner_process = owner_process; 24 shared_memory->owner_process = std::move(owner_process);
25 shared_memory->name = std::move(name); 25 shared_memory->name = std::move(name);
26 shared_memory->size = size; 26 shared_memory->size = size;
27 shared_memory->permissions = permissions; 27 shared_memory->permissions = permissions;
@@ -87,7 +87,7 @@ SharedPtr<SharedMemory> SharedMemory::CreateForApplet(std::shared_ptr<std::vecto
87 shared_memory->size = size; 87 shared_memory->size = size;
88 shared_memory->permissions = permissions; 88 shared_memory->permissions = permissions;
89 shared_memory->other_permissions = other_permissions; 89 shared_memory->other_permissions = other_permissions;
90 shared_memory->backing_block = heap_block; 90 shared_memory->backing_block = std::move(heap_block);
91 shared_memory->backing_block_offset = offset; 91 shared_memory->backing_block_offset = offset;
92 shared_memory->base_address = Memory::HEAP_VADDR + offset; 92 shared_memory->base_address = Memory::HEAP_VADDR + offset;
93 93
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index 0b3c66428..e7fd6c842 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -400,7 +400,7 @@ SharedPtr<Thread> SetupMainThread(VAddr entry_point, u32 priority,
400 400
401 // Initialize new "main" thread 401 // Initialize new "main" thread
402 auto thread_res = Thread::Create("main", entry_point, priority, 0, THREADPROCESSORID_0, 402 auto thread_res = Thread::Create("main", entry_point, priority, 0, THREADPROCESSORID_0,
403 Memory::STACK_AREA_VADDR_END, owner_process); 403 Memory::STACK_AREA_VADDR_END, std::move(owner_process));
404 404
405 SharedPtr<Thread> thread = std::move(thread_res).Unwrap(); 405 SharedPtr<Thread> thread = std::move(thread_res).Unwrap();
406 406
diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp
index 10b3ebaca..9d26fd781 100644
--- a/src/core/hle/kernel/vm_manager.cpp
+++ b/src/core/hle/kernel/vm_manager.cpp
@@ -3,6 +3,7 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <iterator> 5#include <iterator>
6#include <utility>
6#include "common/assert.h" 7#include "common/assert.h"
7#include "common/logging/log.h" 8#include "common/logging/log.h"
8#include "core/arm/arm_interface.h" 9#include "core/arm/arm_interface.h"
@@ -107,7 +108,7 @@ ResultVal<VMManager::VMAHandle> VMManager::MapMemoryBlock(VAddr target,
107 final_vma.type = VMAType::AllocatedMemoryBlock; 108 final_vma.type = VMAType::AllocatedMemoryBlock;
108 final_vma.permissions = VMAPermission::ReadWrite; 109 final_vma.permissions = VMAPermission::ReadWrite;
109 final_vma.meminfo_state = state; 110 final_vma.meminfo_state = state;
110 final_vma.backing_block = block; 111 final_vma.backing_block = std::move(block);
111 final_vma.offset = offset; 112 final_vma.offset = offset;
112 UpdatePageTableForVMA(final_vma); 113 UpdatePageTableForVMA(final_vma);
113 114
@@ -150,7 +151,7 @@ ResultVal<VMManager::VMAHandle> VMManager::MapMMIO(VAddr target, PAddr paddr, u6
150 final_vma.permissions = VMAPermission::ReadWrite; 151 final_vma.permissions = VMAPermission::ReadWrite;
151 final_vma.meminfo_state = state; 152 final_vma.meminfo_state = state;
152 final_vma.paddr = paddr; 153 final_vma.paddr = paddr;
153 final_vma.mmio_handler = mmio_handler; 154 final_vma.mmio_handler = std::move(mmio_handler);
154 UpdatePageTableForVMA(final_vma); 155 UpdatePageTableForVMA(final_vma);
155 156
156 return MakeResult<VMAHandle>(MergeAdjacent(vma_handle)); 157 return MakeResult<VMAHandle>(MergeAdjacent(vma_handle));
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index a18e27da0..e753e3436 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -5,6 +5,8 @@
5#include <algorithm> 5#include <algorithm>
6#include <array> 6#include <array>
7#include <cstring> 7#include <cstring>
8#include <utility>
9
8#include <boost/optional.hpp> 10#include <boost/optional.hpp>
9#include "common/assert.h" 11#include "common/assert.h"
10#include "common/common_types.h" 12#include "common/common_types.h"
@@ -74,7 +76,7 @@ void MapIoRegion(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer
74 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Special); 76 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Special);
75 77
76 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1); 78 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1);
77 SpecialRegion region{SpecialRegion::Type::IODevice, mmio_handler}; 79 SpecialRegion region{SpecialRegion::Type::IODevice, std::move(mmio_handler)};
78 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region})); 80 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region}));
79} 81}
80 82
@@ -89,13 +91,13 @@ void UnmapRegion(PageTable& page_table, VAddr base, u64 size) {
89 91
90void AddDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) { 92void AddDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) {
91 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1); 93 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1);
92 SpecialRegion region{SpecialRegion::Type::DebugHook, hook}; 94 SpecialRegion region{SpecialRegion::Type::DebugHook, std::move(hook)};
93 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region})); 95 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region}));
94} 96}
95 97
96void RemoveDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) { 98void RemoveDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) {
97 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1); 99 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1);
98 SpecialRegion region{SpecialRegion::Type::DebugHook, hook}; 100 SpecialRegion region{SpecialRegion::Type::DebugHook, std::move(hook)};
99 page_table.special_regions.subtract(std::make_pair(interval, std::set<SpecialRegion>{region})); 101 page_table.special_regions.subtract(std::make_pair(interval, std::set<SpecialRegion>{region}));
100} 102}
101 103