summaryrefslogtreecommitdiffstats
path: root/src/core/loader/deconstructed_rom_directory.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-12-18 06:49:46 +0100
committerLiam <byteslice@airmail.cc>2023-12-23 03:52:49 +0100
commitdb7b2bc8f136868ea5251d5a504bd9f89d993c67 (patch)
tree74a01823219cd4248cea08f42b52110702ad5426 /src/core/loader/deconstructed_rom_directory.cpp
parentgeneral: properly support multiple memory instances (diff)
downloadyuzu-db7b2bc8f136868ea5251d5a504bd9f89d993c67.tar
yuzu-db7b2bc8f136868ea5251d5a504bd9f89d993c67.tar.gz
yuzu-db7b2bc8f136868ea5251d5a504bd9f89d993c67.tar.bz2
yuzu-db7b2bc8f136868ea5251d5a504bd9f89d993c67.tar.lz
yuzu-db7b2bc8f136868ea5251d5a504bd9f89d993c67.tar.xz
yuzu-db7b2bc8f136868ea5251d5a504bd9f89d993c67.tar.zst
yuzu-db7b2bc8f136868ea5251d5a504bd9f89d993c67.zip
Diffstat (limited to '')
-rw-r--r--src/core/loader/deconstructed_rom_directory.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp
index 60ee78e89..c9f8707b7 100644
--- a/src/core/loader/deconstructed_rom_directory.cpp
+++ b/src/core/loader/deconstructed_rom_directory.cpp
@@ -129,9 +129,10 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect
}
metadata.Print();
- // Enable NCE only for programs with 39-bit address space.
+ // Enable NCE only for applications with 39-bit address space.
const bool is_39bit =
metadata.GetAddressSpaceType() == FileSys::ProgramAddressSpaceType::Is39Bit;
+ const bool is_application = metadata.GetPoolPartition() == FileSys::PoolPartition::Application;
Settings::SetNceEnabled(is_39bit);
const std::array static_modules = {"rtld", "main", "subsdk0", "subsdk1", "subsdk2",
@@ -147,7 +148,7 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect
const auto GetPatcher = [&](size_t i) -> Core::NCE::Patcher* {
#ifdef HAS_NCE
- if (Settings::IsNceEnabled()) {
+ if (is_application && Settings::IsNceEnabled()) {
return &module_patchers[i];
}
#endif
@@ -175,7 +176,7 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect
// Enable direct memory mapping in case of NCE.
const u64 fastmem_base = [&]() -> size_t {
- if (Settings::IsNceEnabled()) {
+ if (is_application && Settings::IsNceEnabled()) {
auto& buffer = system.DeviceMemory().buffer;
buffer.EnableDirectMappedAddress();
return reinterpret_cast<u64>(buffer.VirtualBasePointer());