diff options
| author | 2024-01-08 00:49:00 -0500 | |
|---|---|---|
| committer | 2024-01-11 11:28:52 -0500 | |
| commit | aae9eea53208fc0924c90ebb1272fcfaa3f23e0c (patch) | |
| tree | 050ccc76dd2fad3c3f81197aa6435674caeac86f /src/core/loader | |
| parent | Merge pull request #12608 from szepeviktor/typos (diff) | |
| download | yuzu-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.cpp | 14 | ||||
| -rw-r--r-- | src/core/loader/nca.cpp | 6 | ||||
| -rw-r--r-- | src/core/loader/nro.cpp | 6 | ||||
| -rw-r--r-- | src/core/loader/nsp.cpp | 3 | ||||
| -rw-r--r-- | src/core/loader/xci.cpp | 3 |
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; |