summaryrefslogtreecommitdiff
path: root/src/core/loader
diff options
context:
space:
mode:
authorGravatar Liam2024-01-08 00:49:00 -0500
committerGravatar Liam2024-01-11 11:28:52 -0500
commitaae9eea53208fc0924c90ebb1272fcfaa3f23e0c (patch)
tree050ccc76dd2fad3c3f81197aa6435674caeac86f /src/core/loader
parentMerge pull request #12608 from szepeviktor/typos (diff)
downloadyuzu-aae9eea53208fc0924c90ebb1272fcfaa3f23e0c.tar.gz
yuzu-aae9eea53208fc0924c90ebb1272fcfaa3f23e0c.tar.xz
yuzu-aae9eea53208fc0924c90ebb1272fcfaa3f23e0c.zip
fsp-srv: use program registry for SetCurrentProcess
Diffstat (limited to 'src/core/loader')
-rw-r--r--src/core/loader/deconstructed_rom_directory.cpp14
-rw-r--r--src/core/loader/nca.cpp6
-rw-r--r--src/core/loader/nro.cpp6
-rw-r--r--src/core/loader/nsp.cpp3
-rw-r--r--src/core/loader/xci.cpp3
5 files changed, 12 insertions, 20 deletions
diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp
index c9f8707b7..1e599e78b 100644
--- a/src/core/loader/deconstructed_rom_directory.cpp
+++ b/src/core/loader/deconstructed_rom_directory.cpp
@@ -216,20 +216,6 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect
216 LOG_DEBUG(Loader, "loaded module {} @ {:#X}", module, load_addr); 216 LOG_DEBUG(Loader, "loaded module {} @ {:#X}", module, load_addr);
217 } 217 }
218 218
219 // Find the RomFS by searching for a ".romfs" file in this directory
220 const auto& files = dir->GetFiles();
221 const auto romfs_iter =
222 std::find_if(files.begin(), files.end(), [](const FileSys::VirtualFile& f) {
223 return f->GetName().find(".romfs") != std::string::npos;
224 });
225
226 // Register the RomFS if a ".romfs" file was found
227 if (romfs_iter != files.end() && *romfs_iter != nullptr) {
228 romfs = *romfs_iter;
229 system.GetFileSystemController().RegisterRomFS(std::make_unique<FileSys::RomFSFactory>(
230 *this, system.GetContentProvider(), system.GetFileSystemController()));
231 }
232
233 is_loaded = true; 219 is_loaded = true;
234 return {ResultStatus::Success, 220 return {ResultStatus::Success,
235 LoadParameters{metadata.GetMainThreadPriority(), metadata.GetMainThreadStackSize()}}; 221 LoadParameters{metadata.GetMainThreadPriority(), metadata.GetMainThreadStackSize()}};
diff --git a/src/core/loader/nca.cpp b/src/core/loader/nca.cpp
index 814407535..2a32b1276 100644
--- a/src/core/loader/nca.cpp
+++ b/src/core/loader/nca.cpp
@@ -74,8 +74,10 @@ AppLoader_NCA::LoadResult AppLoader_NCA::Load(Kernel::KProcess& process, Core::S
74 return load_result; 74 return load_result;
75 } 75 }
76 76
77 system.GetFileSystemController().RegisterRomFS(std::make_unique<FileSys::RomFSFactory>( 77 system.GetFileSystemController().RegisterProcess(
78 *this, system.GetContentProvider(), system.GetFileSystemController())); 78 process.GetProcessId(), nca->GetTitleId(),
79 std::make_shared<FileSys::RomFSFactory>(*this, system.GetContentProvider(),
80 system.GetFileSystemController()));
79 81
80 is_loaded = true; 82 is_loaded = true;
81 return load_result; 83 return load_result;
diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp
index e74697cda..83371fcbd 100644
--- a/src/core/loader/nro.cpp
+++ b/src/core/loader/nro.cpp
@@ -276,8 +276,10 @@ AppLoader_NRO::LoadResult AppLoader_NRO::Load(Kernel::KProcess& process, Core::S
276 } 276 }
277 277
278 if (romfs != nullptr) { 278 if (romfs != nullptr) {
279 system.GetFileSystemController().RegisterRomFS(std::make_unique<FileSys::RomFSFactory>( 279 system.GetFileSystemController().RegisterProcess(
280 *this, system.GetContentProvider(), system.GetFileSystemController())); 280 process.GetProcessId(), {},
281 std::make_unique<FileSys::RomFSFactory>(*this, system.GetContentProvider(),
282 system.GetFileSystemController()));
281 } 283 }
282 284
283 is_loaded = true; 285 is_loaded = true;
diff --git a/src/core/loader/nsp.cpp b/src/core/loader/nsp.cpp
index f4ab75b77..28116ff3a 100644
--- a/src/core/loader/nsp.cpp
+++ b/src/core/loader/nsp.cpp
@@ -111,7 +111,8 @@ AppLoader_NSP::LoadResult AppLoader_NSP::Load(Kernel::KProcess& process, Core::S
111 111
112 FileSys::VirtualFile update_raw; 112 FileSys::VirtualFile update_raw;
113 if (ReadUpdateRaw(update_raw) == ResultStatus::Success && update_raw != nullptr) { 113 if (ReadUpdateRaw(update_raw) == ResultStatus::Success && update_raw != nullptr) {
114 system.GetFileSystemController().SetPackedUpdate(std::move(update_raw)); 114 system.GetFileSystemController().SetPackedUpdate(process.GetProcessId(),
115 std::move(update_raw));
115 } 116 }
116 117
117 is_loaded = true; 118 is_loaded = true;
diff --git a/src/core/loader/xci.cpp b/src/core/loader/xci.cpp
index 12d72c380..e9abb199a 100644
--- a/src/core/loader/xci.cpp
+++ b/src/core/loader/xci.cpp
@@ -78,7 +78,8 @@ AppLoader_XCI::LoadResult AppLoader_XCI::Load(Kernel::KProcess& process, Core::S
78 78
79 FileSys::VirtualFile update_raw; 79 FileSys::VirtualFile update_raw;
80 if (ReadUpdateRaw(update_raw) == ResultStatus::Success && update_raw != nullptr) { 80 if (ReadUpdateRaw(update_raw) == ResultStatus::Success && update_raw != nullptr) {
81 system.GetFileSystemController().SetPackedUpdate(std::move(update_raw)); 81 system.GetFileSystemController().SetPackedUpdate(process.GetProcessId(),
82 std::move(update_raw));
82 } 83 }
83 84
84 is_loaded = true; 85 is_loaded = true;