summaryrefslogtreecommitdiff
path: root/src/core/file_sys
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner2015-07-09 22:52:15 -0300
committerGravatar Yuri Kunde Schlesner2015-07-11 23:54:42 -0300
commit5c5cf2f8e000d1bf4fc12ff20351aa60367cb563 (patch)
tree2b233263cff7c001506f660373e2364c8e702637 /src/core/file_sys
parentMemory: Fix unmapping of pages (diff)
downloadyuzu-5c5cf2f8e000d1bf4fc12ff20351aa60367cb563.tar.gz
yuzu-5c5cf2f8e000d1bf4fc12ff20351aa60367cb563.tar.xz
yuzu-5c5cf2f8e000d1bf4fc12ff20351aa60367cb563.zip
Core: Properly configure address space when loading a binary
The code now properly configures the process image to match the loaded binary segments (code, rodata, data) instead of just blindly allocating a large chunk of dummy memory.
Diffstat (limited to 'src/core/file_sys')
-rw-r--r--src/core/file_sys/archive_savedata.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/file_sys/archive_savedata.cpp b/src/core/file_sys/archive_savedata.cpp
index 98823aec3..12876899f 100644
--- a/src/core/file_sys/archive_savedata.cpp
+++ b/src/core/file_sys/archive_savedata.cpp
@@ -37,7 +37,7 @@ ArchiveFactory_SaveData::ArchiveFactory_SaveData(const std::string& sdmc_directo
37} 37}
38 38
39ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SaveData::Open(const Path& path) { 39ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SaveData::Open(const Path& path) {
40 std::string concrete_mount_point = GetSaveDataPath(mount_point, Kernel::g_current_process->program_id); 40 std::string concrete_mount_point = GetSaveDataPath(mount_point, Kernel::g_current_process->codeset->program_id);
41 if (!FileUtil::Exists(concrete_mount_point)) { 41 if (!FileUtil::Exists(concrete_mount_point)) {
42 // When a SaveData archive is created for the first time, it is not yet formatted 42 // When a SaveData archive is created for the first time, it is not yet formatted
43 // and the save file/directory structure expected by the game has not yet been initialized. 43 // and the save file/directory structure expected by the game has not yet been initialized.
@@ -52,7 +52,7 @@ ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SaveData::Open(const P
52} 52}
53 53
54ResultCode ArchiveFactory_SaveData::Format(const Path& path) { 54ResultCode ArchiveFactory_SaveData::Format(const Path& path) {
55 std::string concrete_mount_point = GetSaveDataPath(mount_point, Kernel::g_current_process->program_id); 55 std::string concrete_mount_point = GetSaveDataPath(mount_point, Kernel::g_current_process->codeset->program_id);
56 FileUtil::DeleteDirRecursively(concrete_mount_point); 56 FileUtil::DeleteDirRecursively(concrete_mount_point);
57 FileUtil::CreateFullPath(concrete_mount_point); 57 FileUtil::CreateFullPath(concrete_mount_point);
58 return RESULT_SUCCESS; 58 return RESULT_SUCCESS;