|
|
@ -39,6 +39,10 @@ Smc::MemoryArrangement GetMemoryArrangeForInit() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} // namespace
|
|
|
|
} // namespace
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
size_t KSystemControl::Init::GetRealMemorySize() {
|
|
|
|
|
|
|
|
return GetIntendedMemorySize();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Initialization.
|
|
|
|
// Initialization.
|
|
|
|
size_t KSystemControl::Init::GetIntendedMemorySize() {
|
|
|
|
size_t KSystemControl::Init::GetIntendedMemorySize() {
|
|
|
|
switch (GetMemorySizeForInit()) {
|
|
|
|
switch (GetMemorySizeForInit()) {
|
|
|
@ -53,7 +57,13 @@ size_t KSystemControl::Init::GetIntendedMemorySize() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
PAddr KSystemControl::Init::GetKernelPhysicalBaseAddress(u64 base_address) {
|
|
|
|
PAddr KSystemControl::Init::GetKernelPhysicalBaseAddress(u64 base_address) {
|
|
|
|
return base_address;
|
|
|
|
const size_t real_dram_size = KSystemControl::Init::GetRealMemorySize();
|
|
|
|
|
|
|
|
const size_t intended_dram_size = KSystemControl::Init::GetIntendedMemorySize();
|
|
|
|
|
|
|
|
if (intended_dram_size * 2 < real_dram_size) {
|
|
|
|
|
|
|
|
return base_address;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return base_address + ((real_dram_size - intended_dram_size) / 2);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool KSystemControl::Init::ShouldIncreaseThreadResourceLimit() {
|
|
|
|
bool KSystemControl::Init::ShouldIncreaseThreadResourceLimit() {
|
|
|
|