summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/kernel/k_memory_block.h33
-rw-r--r--src/core/hle/kernel/k_memory_block_manager.h9
2 files changed, 20 insertions, 22 deletions
diff --git a/src/core/hle/kernel/k_memory_block.h b/src/core/hle/kernel/k_memory_block.h
index 3b6e7baff..87ca65592 100644
--- a/src/core/hle/kernel/k_memory_block.h
+++ b/src/core/hle/kernel/k_memory_block.h
@@ -280,18 +280,19 @@ struct KMemoryInfo {
280 280
281class KMemoryBlock : public Common::IntrusiveRedBlackTreeBaseNode<KMemoryBlock> { 281class KMemoryBlock : public Common::IntrusiveRedBlackTreeBaseNode<KMemoryBlock> {
282private: 282private:
283 u16 m_device_disable_merge_left_count; 283 u16 m_device_disable_merge_left_count{};
284 u16 m_device_disable_merge_right_count; 284 u16 m_device_disable_merge_right_count{};
285 VAddr m_address; 285 VAddr m_address{};
286 size_t m_num_pages; 286 size_t m_num_pages{};
287 KMemoryState m_memory_state; 287 KMemoryState m_memory_state{KMemoryState::None};
288 u16 m_ipc_lock_count; 288 u16 m_ipc_lock_count{};
289 u16 m_device_use_count; 289 u16 m_device_use_count{};
290 u16 m_ipc_disable_merge_count; 290 u16 m_ipc_disable_merge_count{};
291 KMemoryPermission m_permission; 291 KMemoryPermission m_permission{KMemoryPermission::None};
292 KMemoryPermission m_original_permission; 292 KMemoryPermission m_original_permission{KMemoryPermission::None};
293 KMemoryAttribute m_attribute; 293 KMemoryAttribute m_attribute{KMemoryAttribute::None};
294 KMemoryBlockDisableMergeAttribute m_disable_merge_attribute; 294 KMemoryBlockDisableMergeAttribute m_disable_merge_attribute{
295 KMemoryBlockDisableMergeAttribute::None};
295 296
296public: 297public:
297 static constexpr int Compare(const KMemoryBlock& lhs, const KMemoryBlock& rhs) { 298 static constexpr int Compare(const KMemoryBlock& lhs, const KMemoryBlock& rhs) {
@@ -367,12 +368,8 @@ public:
367 368
368 constexpr KMemoryBlock(VAddr addr, size_t np, KMemoryState ms, KMemoryPermission p, 369 constexpr KMemoryBlock(VAddr addr, size_t np, KMemoryState ms, KMemoryPermission p,
369 KMemoryAttribute attr) 370 KMemoryAttribute attr)
370 : Common::IntrusiveRedBlackTreeBaseNode<KMemoryBlock>(), 371 : Common::IntrusiveRedBlackTreeBaseNode<KMemoryBlock>(), m_address(addr), m_num_pages(np),
371 m_device_disable_merge_left_count(), m_device_disable_merge_right_count(), 372 m_memory_state(ms), m_permission(p), m_attribute(attr) {}
372 m_address(addr), m_num_pages(np), m_memory_state(ms), m_ipc_lock_count(0),
373 m_device_use_count(0), m_ipc_disable_merge_count(), m_permission(p),
374 m_original_permission(KMemoryPermission::None), m_attribute(attr),
375 m_disable_merge_attribute() {}
376 373
377 constexpr void Initialize(VAddr addr, size_t np, KMemoryState ms, KMemoryPermission p, 374 constexpr void Initialize(VAddr addr, size_t np, KMemoryState ms, KMemoryPermission p,
378 KMemoryAttribute attr) { 375 KMemoryAttribute attr) {
diff --git a/src/core/hle/kernel/k_memory_block_manager.h b/src/core/hle/kernel/k_memory_block_manager.h
index 9b5873883..d382722a6 100644
--- a/src/core/hle/kernel/k_memory_block_manager.h
+++ b/src/core/hle/kernel/k_memory_block_manager.h
@@ -3,6 +3,7 @@
3 3
4#pragma once 4#pragma once
5 5
6#include <array>
6#include <functional> 7#include <functional>
7 8
8#include "common/common_funcs.h" 9#include "common/common_funcs.h"
@@ -17,9 +18,9 @@ public:
17 static constexpr size_t MaxBlocks = 2; 18 static constexpr size_t MaxBlocks = 2;
18 19
19private: 20private:
20 KMemoryBlock* m_blocks[MaxBlocks]; 21 std::array<KMemoryBlock*, MaxBlocks> m_blocks{};
21 size_t m_index; 22 size_t m_index{MaxBlocks};
22 KMemoryBlockSlabManager* m_slab_manager; 23 KMemoryBlockSlabManager* m_slab_manager{};
23 24
24private: 25private:
25 Result Initialize(size_t num_blocks) { 26 Result Initialize(size_t num_blocks) {
@@ -41,7 +42,7 @@ private:
41public: 42public:
42 KMemoryBlockManagerUpdateAllocator(Result* out_result, KMemoryBlockSlabManager* sm, 43 KMemoryBlockManagerUpdateAllocator(Result* out_result, KMemoryBlockSlabManager* sm,
43 size_t num_blocks = MaxBlocks) 44 size_t num_blocks = MaxBlocks)
44 : m_blocks(), m_index(MaxBlocks), m_slab_manager(sm) { 45 : m_slab_manager(sm) {
45 *out_result = this->Initialize(num_blocks); 46 *out_result = this->Initialize(num_blocks);
46 } 47 }
47 48