core,common: Give memory layout setting an enum

Allows for 6GB and 8GB layouts to be selected.
This commit is contained in:
lat9nq
2023-07-17 19:59:22 -04:00
parent ff6a5031d5
commit 127b3da0f1
4 changed files with 31 additions and 9 deletions

View File

@ -35,13 +35,25 @@ namespace {
using namespace Common::Literals;
u32 GetMemorySizeForInit() {
return Settings::values.use_unsafe_extended_memory_layout ? Smc::MemorySize_8GB
: Smc::MemorySize_4GB;
switch (Settings::values.memory_layout_mode.GetValue()) {
case Settings::MemoryLayout::Memory_4Gb:
return Smc::MemorySize_4GB;
case Settings::MemoryLayout::Memory_6Gb:
return Smc::MemorySize_6GB;
case Settings::MemoryLayout::Memory_8Gb:
return Smc::MemorySize_8GB;
}
}
Smc::MemoryArrangement GetMemoryArrangeForInit() {
return Settings::values.use_unsafe_extended_memory_layout ? Smc::MemoryArrangement_8GB
: Smc::MemoryArrangement_4GB;
switch (Settings::values.memory_layout_mode.GetValue()) {
case Settings::MemoryLayout::Memory_4Gb:
return Smc::MemoryArrangement_4GB;
case Settings::MemoryLayout::Memory_6Gb:
return Smc::MemoryArrangement_6GB;
case Settings::MemoryLayout::Memory_8Gb:
return Smc::MemoryArrangement_8GB;
}
}
} // namespace