diff options
| author | 2018-07-03 00:26:45 -0400 | |
|---|---|---|
| committer | 2018-07-03 00:26:45 -0400 | |
| commit | 15e68cdbaac38bbf13cd4eb0d70d1e34b2fd4256 (patch) | |
| tree | 9d072a572c0037a44e1e35aeffc242d3772a383c /src/core/loader | |
| parent | Merge pull request #612 from bunnei/fix-cull (diff) | |
| parent | Fix build and address review feedback (diff) | |
| download | yuzu-15e68cdbaac38bbf13cd4eb0d70d1e34b2fd4256.tar.gz yuzu-15e68cdbaac38bbf13cd4eb0d70d1e34b2fd4256.tar.xz yuzu-15e68cdbaac38bbf13cd4eb0d70d1e34b2fd4256.zip | |
Merge pull request #607 from jroweboy/logging
Logging - Customizable backends
Diffstat (limited to 'src/core/loader')
| -rw-r--r-- | src/core/loader/deconstructed_rom_directory.cpp | 8 | ||||
| -rw-r--r-- | src/core/loader/elf.cpp | 26 | ||||
| -rw-r--r-- | src/core/loader/linker.cpp | 4 | ||||
| -rw-r--r-- | src/core/loader/loader.cpp | 8 | ||||
| -rw-r--r-- | src/core/loader/nca.cpp | 14 | ||||
| -rw-r--r-- | src/core/loader/nso.cpp | 4 |
6 files changed, 32 insertions, 32 deletions
diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp index b01b2caf6..eb7feb617 100644 --- a/src/core/loader/deconstructed_rom_directory.cpp +++ b/src/core/loader/deconstructed_rom_directory.cpp | |||
| @@ -132,7 +132,7 @@ ResultStatus AppLoader_DeconstructedRomDirectory::Load( | |||
| 132 | const VAddr load_addr = next_load_addr; | 132 | const VAddr load_addr = next_load_addr; |
| 133 | next_load_addr = AppLoader_NSO::LoadModule(path, load_addr); | 133 | next_load_addr = AppLoader_NSO::LoadModule(path, load_addr); |
| 134 | if (next_load_addr) { | 134 | if (next_load_addr) { |
| 135 | NGLOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", module, load_addr); | 135 | LOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", module, load_addr); |
| 136 | } else { | 136 | } else { |
| 137 | next_load_addr = load_addr; | 137 | next_load_addr = load_addr; |
| 138 | } | 138 | } |
| @@ -163,7 +163,7 @@ ResultStatus AppLoader_DeconstructedRomDirectory::ReadRomFS( | |||
| 163 | std::shared_ptr<FileUtil::IOFile>& romfs_file, u64& offset, u64& size) { | 163 | std::shared_ptr<FileUtil::IOFile>& romfs_file, u64& offset, u64& size) { |
| 164 | 164 | ||
| 165 | if (filepath_romfs.empty()) { | 165 | if (filepath_romfs.empty()) { |
| 166 | NGLOG_DEBUG(Loader, "No RomFS available"); | 166 | LOG_DEBUG(Loader, "No RomFS available"); |
| 167 | return ResultStatus::ErrorNotUsed; | 167 | return ResultStatus::ErrorNotUsed; |
| 168 | } | 168 | } |
| 169 | 169 | ||
| @@ -176,8 +176,8 @@ ResultStatus AppLoader_DeconstructedRomDirectory::ReadRomFS( | |||
| 176 | offset = 0; | 176 | offset = 0; |
| 177 | size = romfs_file->GetSize(); | 177 | size = romfs_file->GetSize(); |
| 178 | 178 | ||
| 179 | NGLOG_DEBUG(Loader, "RomFS offset: 0x{:016X}", offset); | 179 | LOG_DEBUG(Loader, "RomFS offset: 0x{:016X}", offset); |
| 180 | NGLOG_DEBUG(Loader, "RomFS size: 0x{:016X}", size); | 180 | LOG_DEBUG(Loader, "RomFS size: 0x{:016X}", size); |
| 181 | 181 | ||
| 182 | // Reset read pointer | 182 | // Reset read pointer |
| 183 | file.Seek(0, SEEK_SET); | 183 | file.Seek(0, SEEK_SET); |
diff --git a/src/core/loader/elf.cpp b/src/core/loader/elf.cpp index e42d3a870..b69e5c6ef 100644 --- a/src/core/loader/elf.cpp +++ b/src/core/loader/elf.cpp | |||
| @@ -273,18 +273,18 @@ const char* ElfReader::GetSectionName(int section) const { | |||
| 273 | } | 273 | } |
| 274 | 274 | ||
| 275 | SharedPtr<CodeSet> ElfReader::LoadInto(u32 vaddr) { | 275 | SharedPtr<CodeSet> ElfReader::LoadInto(u32 vaddr) { |
| 276 | NGLOG_DEBUG(Loader, "String section: {}", header->e_shstrndx); | 276 | LOG_DEBUG(Loader, "String section: {}", header->e_shstrndx); |
| 277 | 277 | ||
| 278 | // Should we relocate? | 278 | // Should we relocate? |
| 279 | relocate = (header->e_type != ET_EXEC); | 279 | relocate = (header->e_type != ET_EXEC); |
| 280 | 280 | ||
| 281 | if (relocate) { | 281 | if (relocate) { |
| 282 | NGLOG_DEBUG(Loader, "Relocatable module"); | 282 | LOG_DEBUG(Loader, "Relocatable module"); |
| 283 | entryPoint += vaddr; | 283 | entryPoint += vaddr; |
| 284 | } else { | 284 | } else { |
| 285 | NGLOG_DEBUG(Loader, "Prerelocated executable"); | 285 | LOG_DEBUG(Loader, "Prerelocated executable"); |
| 286 | } | 286 | } |
| 287 | NGLOG_DEBUG(Loader, "{} segments:", header->e_phnum); | 287 | LOG_DEBUG(Loader, "{} segments:", header->e_phnum); |
| 288 | 288 | ||
| 289 | // First pass : Get the bits into RAM | 289 | // First pass : Get the bits into RAM |
| 290 | u32 base_addr = relocate ? vaddr : 0; | 290 | u32 base_addr = relocate ? vaddr : 0; |
| @@ -304,8 +304,8 @@ SharedPtr<CodeSet> ElfReader::LoadInto(u32 vaddr) { | |||
| 304 | 304 | ||
| 305 | for (unsigned int i = 0; i < header->e_phnum; ++i) { | 305 | for (unsigned int i = 0; i < header->e_phnum; ++i) { |
| 306 | Elf32_Phdr* p = &segments[i]; | 306 | Elf32_Phdr* p = &segments[i]; |
| 307 | NGLOG_DEBUG(Loader, "Type: {} Vaddr: {:08X} Filesz: {:08X} Memsz: {:08X} ", p->p_type, | 307 | LOG_DEBUG(Loader, "Type: {} Vaddr: {:08X} Filesz: {:08X} Memsz: {:08X} ", p->p_type, |
| 308 | p->p_vaddr, p->p_filesz, p->p_memsz); | 308 | p->p_vaddr, p->p_filesz, p->p_memsz); |
| 309 | 309 | ||
| 310 | if (p->p_type == PT_LOAD) { | 310 | if (p->p_type == PT_LOAD) { |
| 311 | CodeSet::Segment* codeset_segment; | 311 | CodeSet::Segment* codeset_segment; |
| @@ -317,16 +317,16 @@ SharedPtr<CodeSet> ElfReader::LoadInto(u32 vaddr) { | |||
| 317 | } else if (permission_flags == (PF_R | PF_W)) { | 317 | } else if (permission_flags == (PF_R | PF_W)) { |
| 318 | codeset_segment = &codeset->data; | 318 | codeset_segment = &codeset->data; |
| 319 | } else { | 319 | } else { |
| 320 | NGLOG_ERROR(Loader, "Unexpected ELF PT_LOAD segment id {} with flags {:X}", i, | 320 | LOG_ERROR(Loader, "Unexpected ELF PT_LOAD segment id {} with flags {:X}", i, |
| 321 | p->p_flags); | 321 | p->p_flags); |
| 322 | continue; | 322 | continue; |
| 323 | } | 323 | } |
| 324 | 324 | ||
| 325 | if (codeset_segment->size != 0) { | 325 | if (codeset_segment->size != 0) { |
| 326 | NGLOG_ERROR(Loader, | 326 | LOG_ERROR(Loader, |
| 327 | "ELF has more than one segment of the same type. Skipping extra " | 327 | "ELF has more than one segment of the same type. Skipping extra " |
| 328 | "segment (id {})", | 328 | "segment (id {})", |
| 329 | i); | 329 | i); |
| 330 | continue; | 330 | continue; |
| 331 | } | 331 | } |
| 332 | 332 | ||
| @@ -345,7 +345,7 @@ SharedPtr<CodeSet> ElfReader::LoadInto(u32 vaddr) { | |||
| 345 | codeset->entrypoint = base_addr + header->e_entry; | 345 | codeset->entrypoint = base_addr + header->e_entry; |
| 346 | codeset->memory = std::make_shared<std::vector<u8>>(std::move(program_image)); | 346 | codeset->memory = std::make_shared<std::vector<u8>>(std::move(program_image)); |
| 347 | 347 | ||
| 348 | NGLOG_DEBUG(Loader, "Done loading."); | 348 | LOG_DEBUG(Loader, "Done loading."); |
| 349 | 349 | ||
| 350 | return codeset; | 350 | return codeset; |
| 351 | } | 351 | } |
diff --git a/src/core/loader/linker.cpp b/src/core/loader/linker.cpp index c7be5f265..769516b6f 100644 --- a/src/core/loader/linker.cpp +++ b/src/core/loader/linker.cpp | |||
| @@ -84,7 +84,7 @@ void Linker::WriteRelocations(std::vector<u8>& program_image, const std::vector< | |||
| 84 | } | 84 | } |
| 85 | break; | 85 | break; |
| 86 | default: | 86 | default: |
| 87 | NGLOG_CRITICAL(Loader, "Unknown relocation type: {}", static_cast<int>(rela.type)); | 87 | LOG_CRITICAL(Loader, "Unknown relocation type: {}", static_cast<int>(rela.type)); |
| 88 | break; | 88 | break; |
| 89 | } | 89 | } |
| 90 | } | 90 | } |
| @@ -141,7 +141,7 @@ void Linker::ResolveImports() { | |||
| 141 | if (search != exports.end()) { | 141 | if (search != exports.end()) { |
| 142 | Memory::Write64(import.second.ea, search->second + import.second.addend); | 142 | Memory::Write64(import.second.ea, search->second + import.second.addend); |
| 143 | } else { | 143 | } else { |
| 144 | NGLOG_ERROR(Loader, "Unresolved import: {}", import.first); | 144 | LOG_ERROR(Loader, "Unresolved import: {}", import.first); |
| 145 | } | 145 | } |
| 146 | } | 146 | } |
| 147 | } | 147 | } |
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 20cc0bac0..8831d8e83 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp | |||
| @@ -43,7 +43,7 @@ FileType IdentifyFile(FileUtil::IOFile& file, const std::string& filepath) { | |||
| 43 | FileType IdentifyFile(const std::string& file_name) { | 43 | FileType IdentifyFile(const std::string& file_name) { |
| 44 | FileUtil::IOFile file(file_name, "rb"); | 44 | FileUtil::IOFile file(file_name, "rb"); |
| 45 | if (!file.IsOpen()) { | 45 | if (!file.IsOpen()) { |
| 46 | NGLOG_ERROR(Loader, "Failed to load file {}", file_name); | 46 | LOG_ERROR(Loader, "Failed to load file {}", file_name); |
| 47 | return FileType::Unknown; | 47 | return FileType::Unknown; |
| 48 | } | 48 | } |
| 49 | 49 | ||
| @@ -126,7 +126,7 @@ static std::unique_ptr<AppLoader> GetFileLoader(FileUtil::IOFile&& file, FileTyp | |||
| 126 | std::unique_ptr<AppLoader> GetLoader(const std::string& filename) { | 126 | std::unique_ptr<AppLoader> GetLoader(const std::string& filename) { |
| 127 | FileUtil::IOFile file(filename, "rb"); | 127 | FileUtil::IOFile file(filename, "rb"); |
| 128 | if (!file.IsOpen()) { | 128 | if (!file.IsOpen()) { |
| 129 | NGLOG_ERROR(Loader, "Failed to load file {}", filename); | 129 | LOG_ERROR(Loader, "Failed to load file {}", filename); |
| 130 | return nullptr; | 130 | return nullptr; |
| 131 | } | 131 | } |
| 132 | 132 | ||
| @@ -137,12 +137,12 @@ std::unique_ptr<AppLoader> GetLoader(const std::string& filename) { | |||
| 137 | FileType filename_type = GuessFromExtension(filename_extension); | 137 | FileType filename_type = GuessFromExtension(filename_extension); |
| 138 | 138 | ||
| 139 | if (type != filename_type) { | 139 | if (type != filename_type) { |
| 140 | NGLOG_WARNING(Loader, "File {} has a different type than its extension.", filename); | 140 | LOG_WARNING(Loader, "File {} has a different type than its extension.", filename); |
| 141 | if (FileType::Unknown == type) | 141 | if (FileType::Unknown == type) |
| 142 | type = filename_type; | 142 | type = filename_type; |
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | NGLOG_DEBUG(Loader, "Loading file {} as {}...", filename, GetFileTypeString(type)); | 145 | LOG_DEBUG(Loader, "Loading file {} as {}...", filename, GetFileTypeString(type)); |
| 146 | 146 | ||
| 147 | return GetFileLoader(std::move(file), type, filename_filename, filename); | 147 | return GetFileLoader(std::move(file), type, filename_filename, filename); |
| 148 | } | 148 | } |
diff --git a/src/core/loader/nca.cpp b/src/core/loader/nca.cpp index 067945d46..da064f8e3 100644 --- a/src/core/loader/nca.cpp +++ b/src/core/loader/nca.cpp | |||
| @@ -123,7 +123,7 @@ ResultStatus Nca::Load(FileUtil::IOFile&& in_file, std::string in_path) { | |||
| 123 | file.Seek(0, SEEK_SET); | 123 | file.Seek(0, SEEK_SET); |
| 124 | std::array<u8, sizeof(NcaHeader)> header_array{}; | 124 | std::array<u8, sizeof(NcaHeader)> header_array{}; |
| 125 | if (sizeof(NcaHeader) != file.ReadBytes(header_array.data(), sizeof(NcaHeader))) | 125 | if (sizeof(NcaHeader) != file.ReadBytes(header_array.data(), sizeof(NcaHeader))) |
| 126 | NGLOG_CRITICAL(Loader, "File reader errored out during header read."); | 126 | LOG_CRITICAL(Loader, "File reader errored out during header read."); |
| 127 | 127 | ||
| 128 | NcaHeader header{}; | 128 | NcaHeader header{}; |
| 129 | std::memcpy(&header, header_array.data(), sizeof(NcaHeader)); | 129 | std::memcpy(&header, header_array.data(), sizeof(NcaHeader)); |
| @@ -140,7 +140,7 @@ ResultStatus Nca::Load(FileUtil::IOFile&& in_file, std::string in_path) { | |||
| 140 | std::array<u8, sizeof(NcaSectionHeaderBlock)> array{}; | 140 | std::array<u8, sizeof(NcaSectionHeaderBlock)> array{}; |
| 141 | if (sizeof(NcaSectionHeaderBlock) != | 141 | if (sizeof(NcaSectionHeaderBlock) != |
| 142 | file.ReadBytes(array.data(), sizeof(NcaSectionHeaderBlock))) | 142 | file.ReadBytes(array.data(), sizeof(NcaSectionHeaderBlock))) |
| 143 | NGLOG_CRITICAL(Loader, "File reader errored out during header read."); | 143 | LOG_CRITICAL(Loader, "File reader errored out during header read."); |
| 144 | 144 | ||
| 145 | NcaSectionHeaderBlock block{}; | 145 | NcaSectionHeaderBlock block{}; |
| 146 | std::memcpy(&block, array.data(), sizeof(NcaSectionHeaderBlock)); | 146 | std::memcpy(&block, array.data(), sizeof(NcaSectionHeaderBlock)); |
| @@ -154,7 +154,7 @@ ResultStatus Nca::Load(FileUtil::IOFile&& in_file, std::string in_path) { | |||
| 154 | // Seek back to beginning of this section. | 154 | // Seek back to beginning of this section. |
| 155 | file.Seek(SECTION_HEADER_OFFSET + i * SECTION_HEADER_SIZE, SEEK_SET); | 155 | file.Seek(SECTION_HEADER_OFFSET + i * SECTION_HEADER_SIZE, SEEK_SET); |
| 156 | if (sizeof(Pfs0Superblock) != file.ReadBytes(&sb, sizeof(Pfs0Superblock))) | 156 | if (sizeof(Pfs0Superblock) != file.ReadBytes(&sb, sizeof(Pfs0Superblock))) |
| 157 | NGLOG_CRITICAL(Loader, "File reader errored out during header read."); | 157 | LOG_CRITICAL(Loader, "File reader errored out during header read."); |
| 158 | 158 | ||
| 159 | u64 offset = (static_cast<u64>(header.section_tables[i].media_offset) * | 159 | u64 offset = (static_cast<u64>(header.section_tables[i].media_offset) * |
| 160 | MEDIA_OFFSET_MULTIPLIER) + | 160 | MEDIA_OFFSET_MULTIPLIER) + |
| @@ -258,7 +258,7 @@ ResultStatus AppLoader_NCA::Load(Kernel::SharedPtr<Kernel::Process>& process) { | |||
| 258 | const VAddr load_addr = next_load_addr; | 258 | const VAddr load_addr = next_load_addr; |
| 259 | next_load_addr = AppLoader_NSO::LoadModule(module, nca->GetExeFsFile(module), load_addr); | 259 | next_load_addr = AppLoader_NSO::LoadModule(module, nca->GetExeFsFile(module), load_addr); |
| 260 | if (next_load_addr) { | 260 | if (next_load_addr) { |
| 261 | NGLOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", module, load_addr); | 261 | LOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", module, load_addr); |
| 262 | } else { | 262 | } else { |
| 263 | next_load_addr = load_addr; | 263 | next_load_addr = load_addr; |
| 264 | } | 264 | } |
| @@ -283,7 +283,7 @@ ResultStatus AppLoader_NCA::Load(Kernel::SharedPtr<Kernel::Process>& process) { | |||
| 283 | ResultStatus AppLoader_NCA::ReadRomFS(std::shared_ptr<FileUtil::IOFile>& romfs_file, u64& offset, | 283 | ResultStatus AppLoader_NCA::ReadRomFS(std::shared_ptr<FileUtil::IOFile>& romfs_file, u64& offset, |
| 284 | u64& size) { | 284 | u64& size) { |
| 285 | if (nca->GetRomFsSize() == 0) { | 285 | if (nca->GetRomFsSize() == 0) { |
| 286 | NGLOG_DEBUG(Loader, "No RomFS available"); | 286 | LOG_DEBUG(Loader, "No RomFS available"); |
| 287 | return ResultStatus::ErrorNotUsed; | 287 | return ResultStatus::ErrorNotUsed; |
| 288 | } | 288 | } |
| 289 | 289 | ||
| @@ -292,8 +292,8 @@ ResultStatus AppLoader_NCA::ReadRomFS(std::shared_ptr<FileUtil::IOFile>& romfs_f | |||
| 292 | offset = nca->GetRomFsOffset(); | 292 | offset = nca->GetRomFsOffset(); |
| 293 | size = nca->GetRomFsSize(); | 293 | size = nca->GetRomFsSize(); |
| 294 | 294 | ||
| 295 | NGLOG_DEBUG(Loader, "RomFS offset: 0x{:016X}", offset); | 295 | LOG_DEBUG(Loader, "RomFS offset: 0x{:016X}", offset); |
| 296 | NGLOG_DEBUG(Loader, "RomFS size: 0x{:016X}", size); | 296 | LOG_DEBUG(Loader, "RomFS size: 0x{:016X}", size); |
| 297 | 297 | ||
| 298 | return ResultStatus::Success; | 298 | return ResultStatus::Success; |
| 299 | } | 299 | } |
diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index 845ed7e90..7f84e4b1b 100644 --- a/src/core/loader/nso.cpp +++ b/src/core/loader/nso.cpp | |||
| @@ -87,7 +87,7 @@ static std::vector<u8> ReadSegment(FileUtil::IOFile& file, const NsoSegmentHeade | |||
| 87 | 87 | ||
| 88 | file.Seek(header.offset, SEEK_SET); | 88 | file.Seek(header.offset, SEEK_SET); |
| 89 | if (compressed_size != file.ReadBytes(compressed_data.data(), compressed_size)) { | 89 | if (compressed_size != file.ReadBytes(compressed_data.data(), compressed_size)) { |
| 90 | NGLOG_CRITICAL(Loader, "Failed to read {} NSO LZ4 compressed bytes", compressed_size); | 90 | LOG_CRITICAL(Loader, "Failed to read {} NSO LZ4 compressed bytes", compressed_size); |
| 91 | return {}; | 91 | return {}; |
| 92 | } | 92 | } |
| 93 | 93 | ||
| @@ -215,7 +215,7 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& process) { | |||
| 215 | 215 | ||
| 216 | // Load module | 216 | // Load module |
| 217 | LoadModule(filepath, Memory::PROCESS_IMAGE_VADDR); | 217 | LoadModule(filepath, Memory::PROCESS_IMAGE_VADDR); |
| 218 | NGLOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", filepath, Memory::PROCESS_IMAGE_VADDR); | 218 | LOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", filepath, Memory::PROCESS_IMAGE_VADDR); |
| 219 | 219 | ||
| 220 | process->svc_access_mask.set(); | 220 | process->svc_access_mask.set(); |
| 221 | process->address_mappings = default_address_mappings; | 221 | process->address_mappings = default_address_mappings; |