diff options
| -rw-r--r-- | src/core/hle/kernel/k_memory_block.h | 33 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_memory_block_manager.h | 9 |
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 | ||
| 281 | class KMemoryBlock : public Common::IntrusiveRedBlackTreeBaseNode<KMemoryBlock> { | 281 | class KMemoryBlock : public Common::IntrusiveRedBlackTreeBaseNode<KMemoryBlock> { |
| 282 | private: | 282 | private: |
| 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 | ||
| 296 | public: | 297 | public: |
| 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 | ||
| 19 | private: | 20 | private: |
| 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 | ||
| 24 | private: | 25 | private: |
| 25 | Result Initialize(size_t num_blocks) { | 26 | Result Initialize(size_t num_blocks) { |
| @@ -41,7 +42,7 @@ private: | |||
| 41 | public: | 42 | public: |
| 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 | ||