aboutsummaryrefslogtreecommitdiff
path: root/src/core/loader/loader.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2546 from DarkLordZach/kipsbunnei2019-06-211-0/+5
|\ | | | | loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
| * loader: Add recognition for KIP file typeZach Hilman2019-06-051-0/+1
| |
| * loader: Add KIP and INI file parser-specific errorsZach Hilman2019-06-051-0/+4
| |
* | Merge pull request #2482 from DarkLordZach/prepobunnei2019-06-211-0/+6
|\ \ | | | | | | core: Add detailed local reporting feature for development
| * | loader: Move NSO module tracking to AppLoaderZach Hilman2019-05-261-0/+6
| |/ | | | | Also cleanup of general stuff
* / core/loader: Remove LoadKernelSystemModeLioncash2019-05-281-11/+0
|/ | | | This is a hold-over from Citra and doesn't apply to yuzu.
* core/core: Move process execution start to System's Load()Lioncash2019-04-111-1/+7
| | | | | | | | | This gives us significantly more control over where in the initialization process we start execution of the main process. Previously we were running the main process before the CPU or GPU threads were initialized (not good). This amends execution to start after all of our threads are properly set up.
* loader: Propagate NCA logo section to ReadBanner and ReadLogoZach Hilman2019-01-151-0/+4
|
* loader: Add accessor for Manual RomFSZach Hilman2018-12-281-0/+9
|
* Merge pull request #1928 from lioncash/capsbunnei2018-12-271-0/+2
|\ | | | | kernel: Handle kernel capability descriptors
| * kernel/process: Hook up the process capability parser to the process itselfLioncash2018-12-211-0/+2
| | | | | | | | | | While we're at it, we can also toss out the leftover capability parsing from Citra.
* | loader: Add accessor for game control dataZach Hilman2018-12-271-3/+7
|/
* Merge pull request #1819 from DarkLordZach/disable-addonsbunnei2018-12-101-0/+10
|\ | | | | patch_manager: Add support for disabling patches
| * loader: Add support for reading the name of game's developerZach Hilman2018-12-031-0/+10
| |
* | loaders: Make GetFileType() a const qualified member functionLioncash2018-12-051-1/+1
|/ | | | | | No implementations actually modify instance state (and it would be questionable to do that in the first place given the name), so we can make this a const member function.
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-2/+3
| | | | | | | | | | | | | | | | * get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
* nso: Return an optional address from LoadModuleLioncash2018-10-151-0/+1
| | | | | If a malformed NSO is attempted to be loaded, we shouldn't continue onwards. We should be reporting an error and bailing out.
* loader: Add getter for packed updateZach Hilman2018-10-051-2/+12
| | | | Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status.
* loader: Make the Load() function take a process as a regular reference, not ↵Lioncash2018-09-291-2/+1
| | | | | | | | | | a SharedPtr A process should never require being reference counted in this situation. If the handle to a process is freed before this function is called, it's definitely a bug with our lifetime management, so we can put the requirement in place for the API that the process must be a valid instance.
* bktr: Implement IVFC offset shiftingZach Hilman2018-09-041-0/+9
| | | | Fixes base game read errors
* bktr: Fix missing includes and optimize styleZach Hilman2018-09-041-1/+1
|
* loader: Add BKTR-specific error messages and codesZach Hilman2018-09-041-6/+14
|
* loader: Add NSP file type and NSP-specific errorsZach Hilman2018-09-041-0/+2
|
* vfs_real: Forward declare IOFileLioncash2018-09-021-4/+2
| | | | | | Eliminates the need to rebuild some source files if the file_util header ever changes. This also uncovered some indirect inclusions, which have also been fixed.
* loader: Add new NAX-specific errors and messagesZach Hilman2018-08-231-0/+13
|
* nax: Add AppLoader_NAX and update loader to support itZach Hilman2018-08-231-0/+1
|
* loader: Make ResultStatus directly compatible with fmtLioncash2018-08-151-2/+2
| | | | | | | | | We can make the enum class type compatible with fmt by providing an overload of operator<<. While we're at it, perform proper bounds checking. If something exceeds the array, it should be a hard fail, because it's, without a doubt, a programmer error in this case.
* loader: Remove address mapping remnants from citraLioncash2018-08-141-7/+0
| | | | These mappings are leftovers from citra and don't apply to the Switch.
* made ResultStatus a u16David Marcec2018-08-121-1/+1
|
* loader: Add more descriptive errorsZach Hilman2018-08-091-9/+37
| | | Full list of new errors and descriptions in core/loader/loader.h
* loader: Remove unused IdentifyFile overloadZach Hilman2018-08-081-8/+0
|
* Avoid parsing RomFS to directory in NCAZach Hilman2018-08-061-1/+1
|
* Merge pull request #849 from DarkLordZach/xcibunnei2018-08-041-1/+3
|\ | | | | XCI and Encrypted NCA Support
| * Use more descriptive error codes and messagesZach Hilman2018-08-011-1/+2
| |
| * Remove files that are not usedZach Hilman2018-08-011-0/+1
| |
* | kernel: Move object class to its own source filesLioncash2018-08-011-1/+1
|/ | | | | | General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
* core: Make converting constructors explicit where applicableLioncash2018-07-231-1/+1
| | | | | Avoids unwanted implicit conversions. Thankfully, given the large amount of cleanup in past PRs, only this tiny amount is left over to cover.
* loader: Amend Doxygen commentsLioncash2018-07-191-3/+3
| | | | These weren't adjusted when VFS was introduced
* Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman2018-07-181-18/+12
| | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
* Revert "Virtual Filesystem (#597)"bunnei2018-07-071-12/+18
| | | | This reverts commit 12e9522b32d972a8e9b327c7ee7c14040a61ffdd.
* Virtual Filesystem (#597)Zach Hilman2018-07-061-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
* Add support for decrypted NCA files (#567)Zach Hilman2018-06-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start to add NCA support in loader * More nca stuff * More changes to nca.cpp * Now identifies decrypted NCA cont. * Game list fixes and more structs and stuff * More updates to Nca class * Now reads ExeFs (i think) * ACTUALLY LOADS EXEFS! * RomFS loads and games execute * Cleanup and Finalize * plumbing, cleanup and testing * fix some things that i didnt think of before * Preliminary Review Changes * Review changes for bunnei and subv
* core, main.h: Abort on 32Bit ROMs (#309)N00byKing2018-04-061-0/+1
| | | | | | * core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar
* loader: Clean up ctors and includes.bunnei2018-01-201-4/+1
|
* loader: Add DeconstructedRomDirectory for game dumps.bunnei2018-01-201-0/+1
|
* loader: Refactor to also pass filepath into IdentifyType.bunnei2018-01-201-1/+2
|
* core: Refactor MakeMagic usage and remove dead code.bunnei2017-10-151-4/+0
|
* Remove lots more 3DS-specific code.bunnei2017-10-121-4/+0
|
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-091-5/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
| * Loaders: Don't automatically set the current process every time we load an ↵Subv2017-09-261-5/+8
| | | | | | | | | | | | application. The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.