summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/board
diff options
context:
space:
mode:
authorGravatar liamwhite2023-03-23 10:00:19 -0400
committerGravatar GitHub2023-03-23 10:00:19 -0400
commitc41a4baf06efe935f08331bc6f8ff6d80dc088f5 (patch)
treea6580d41bd440b240b2f60db38fdeec60fca2eff /src/core/hle/kernel/board
parentMerge pull request #9962 from Kelebek1/disable_srgb (diff)
parentkernel: use KTypedAddress for addresses (diff)
downloadyuzu-c41a4baf06efe935f08331bc6f8ff6d80dc088f5.tar.gz
yuzu-c41a4baf06efe935f08331bc6f8ff6d80dc088f5.tar.xz
yuzu-c41a4baf06efe935f08331bc6f8ff6d80dc088f5.zip
Merge pull request #9964 from liamwhite/typed-address
kernel: use KTypedAddress for addresses
Diffstat (limited to 'src/core/hle/kernel/board')
-rw-r--r--src/core/hle/kernel/board/nintendo/nx/k_memory_layout.cpp12
-rw-r--r--src/core/hle/kernel/board/nintendo/nx/k_memory_layout.h4
-rw-r--r--src/core/hle/kernel/board/nintendo/nx/k_system_control.cpp2
-rw-r--r--src/core/hle/kernel/board/nintendo/nx/k_system_control.h4
4 files changed, 12 insertions, 10 deletions
diff --git a/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.cpp b/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.cpp
index 098ba6eac..24eb3f886 100644
--- a/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.cpp
+++ b/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.cpp
@@ -76,22 +76,24 @@ void SetupDevicePhysicalMemoryRegions(KMemoryLayout& memory_layout) {
76 76
77void SetupDramPhysicalMemoryRegions(KMemoryLayout& memory_layout) { 77void SetupDramPhysicalMemoryRegions(KMemoryLayout& memory_layout) {
78 const size_t intended_memory_size = KSystemControl::Init::GetIntendedMemorySize(); 78 const size_t intended_memory_size = KSystemControl::Init::GetIntendedMemorySize();
79 const PAddr physical_memory_base_address = 79 const KPhysicalAddress physical_memory_base_address =
80 KSystemControl::Init::GetKernelPhysicalBaseAddress(DramPhysicalAddress); 80 KSystemControl::Init::GetKernelPhysicalBaseAddress(DramPhysicalAddress);
81 81
82 // Insert blocks into the tree. 82 // Insert blocks into the tree.
83 ASSERT(memory_layout.GetPhysicalMemoryRegionTree().Insert( 83 ASSERT(memory_layout.GetPhysicalMemoryRegionTree().Insert(
84 physical_memory_base_address, intended_memory_size, KMemoryRegionType_Dram)); 84 GetInteger(physical_memory_base_address), intended_memory_size, KMemoryRegionType_Dram));
85 ASSERT(memory_layout.GetPhysicalMemoryRegionTree().Insert( 85 ASSERT(memory_layout.GetPhysicalMemoryRegionTree().Insert(
86 physical_memory_base_address, ReservedEarlyDramSize, KMemoryRegionType_DramReservedEarly)); 86 GetInteger(physical_memory_base_address), ReservedEarlyDramSize,
87 KMemoryRegionType_DramReservedEarly));
87 88
88 // Insert the KTrace block at the end of Dram, if KTrace is enabled. 89 // Insert the KTrace block at the end of Dram, if KTrace is enabled.
89 static_assert(!IsKTraceEnabled || KTraceBufferSize > 0); 90 static_assert(!IsKTraceEnabled || KTraceBufferSize > 0);
90 if constexpr (IsKTraceEnabled) { 91 if constexpr (IsKTraceEnabled) {
91 const PAddr ktrace_buffer_phys_addr = 92 const KPhysicalAddress ktrace_buffer_phys_addr =
92 physical_memory_base_address + intended_memory_size - KTraceBufferSize; 93 physical_memory_base_address + intended_memory_size - KTraceBufferSize;
93 ASSERT(memory_layout.GetPhysicalMemoryRegionTree().Insert( 94 ASSERT(memory_layout.GetPhysicalMemoryRegionTree().Insert(
94 ktrace_buffer_phys_addr, KTraceBufferSize, KMemoryRegionType_KernelTraceBuffer)); 95 GetInteger(ktrace_buffer_phys_addr), KTraceBufferSize,
96 KMemoryRegionType_KernelTraceBuffer));
95 } 97 }
96} 98}
97 99
diff --git a/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.h b/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.h
index d02ee61c3..f8fee4f5b 100644
--- a/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.h
+++ b/src/core/hle/kernel/board/nintendo/nx/k_memory_layout.h
@@ -3,10 +3,10 @@
3 3
4#pragma once 4#pragma once
5 5
6#include "common/common_types.h" 6#include "core/hle/kernel/k_typed_address.h"
7 7
8namespace Kernel { 8namespace Kernel {
9 9
10constexpr inline PAddr MainMemoryAddress = 0x80000000; 10constexpr inline KPhysicalAddress MainMemoryAddress = 0x80000000;
11 11
12} // namespace Kernel 12} // namespace Kernel
diff --git a/src/core/hle/kernel/board/nintendo/nx/k_system_control.cpp b/src/core/hle/kernel/board/nintendo/nx/k_system_control.cpp
index 5b8a248c8..42d1fcc28 100644
--- a/src/core/hle/kernel/board/nintendo/nx/k_system_control.cpp
+++ b/src/core/hle/kernel/board/nintendo/nx/k_system_control.cpp
@@ -61,7 +61,7 @@ size_t KSystemControl::Init::GetIntendedMemorySize() {
61 } 61 }
62} 62}
63 63
64PAddr KSystemControl::Init::GetKernelPhysicalBaseAddress(u64 base_address) { 64KPhysicalAddress KSystemControl::Init::GetKernelPhysicalBaseAddress(KPhysicalAddress base_address) {
65 const size_t real_dram_size = KSystemControl::Init::GetRealMemorySize(); 65 const size_t real_dram_size = KSystemControl::Init::GetRealMemorySize();
66 const size_t intended_dram_size = KSystemControl::Init::GetIntendedMemorySize(); 66 const size_t intended_dram_size = KSystemControl::Init::GetIntendedMemorySize();
67 if (intended_dram_size * 2 < real_dram_size) { 67 if (intended_dram_size * 2 < real_dram_size) {
diff --git a/src/core/hle/kernel/board/nintendo/nx/k_system_control.h b/src/core/hle/kernel/board/nintendo/nx/k_system_control.h
index 4b717d091..b477e8193 100644
--- a/src/core/hle/kernel/board/nintendo/nx/k_system_control.h
+++ b/src/core/hle/kernel/board/nintendo/nx/k_system_control.h
@@ -3,7 +3,7 @@
3 3
4#pragma once 4#pragma once
5 5
6#include "common/common_types.h" 6#include "core/hle/kernel/k_typed_address.h"
7 7
8namespace Kernel::Board::Nintendo::Nx { 8namespace Kernel::Board::Nintendo::Nx {
9 9
@@ -18,7 +18,7 @@ public:
18 // Initialization. 18 // Initialization.
19 static std::size_t GetRealMemorySize(); 19 static std::size_t GetRealMemorySize();
20 static std::size_t GetIntendedMemorySize(); 20 static std::size_t GetIntendedMemorySize();
21 static PAddr GetKernelPhysicalBaseAddress(u64 base_address); 21 static KPhysicalAddress GetKernelPhysicalBaseAddress(KPhysicalAddress base_address);
22 static bool ShouldIncreaseThreadResourceLimit(); 22 static bool ShouldIncreaseThreadResourceLimit();
23 static std::size_t GetApplicationPoolSize(); 23 static std::size_t GetApplicationPoolSize();
24 static std::size_t GetAppletPoolSize(); 24 static std::size_t GetAppletPoolSize();