summaryrefslogtreecommitdiff
path: root/src/core/loader (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bktr: Fix bucket overlap errorGravatar Zach Hilman2018-09-041-2/+2
|
* drd: Parse title ID from program metadataGravatar Zach Hilman2018-09-041-1/+8
|
* patch_manager: Centralize Control-type NCA parsingGravatar Zach Hilman2018-09-042-33/+8
|
* game_list: Fix version display on non-NAND titlesGravatar Zach Hilman2018-09-041-1/+10
|
* bktr: Implement IVFC offset shiftingGravatar Zach Hilman2018-09-043-0/+16
| | | | Fixes base game read errors
* bktr: Fix missing includes and optimize styleGravatar Zach Hilman2018-09-045-5/+5
|
* loader: Add BKTR-specific error messages and codesGravatar Zach Hilman2018-09-042-7/+24
|
* loader: Ignore patches on NRO and DRDGravatar Zach Hilman2018-09-044-0/+11
|
* patch_manager: Add usages of patches to ExeFSGravatar Zach Hilman2018-09-043-8/+30
|
* main: Only show DRD deprecation warning onceGravatar Zach Hilman2018-09-041-1/+1
|
* nsp: Comply with style and performance guidelinesGravatar Zach Hilman2018-09-042-3/+10
|
* loader: Add AppLoader for NSP filesGravatar Zach Hilman2018-09-042-0/+182
|
* card_image: Parse XCI secure partition with NSPGravatar Zach Hilman2018-09-041-4/+3
| | | | Eliminated duplicate code and adds support for Rev1+ carts
* drd: Load title ID from program metadataGravatar Zach Hilman2018-09-041-3/+1
| | | | Previously only loaded from control metadata
* loader: Add NSP file type and NSP-specific errorsGravatar Zach Hilman2018-09-042-2/+14
|
* vfs_real: Forward declare IOFileGravatar Lioncash2018-09-022-5/+6
| | | | | | 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.
* core/core: Replace includes with forward declarations where applicableGravatar Lioncash2018-08-314-0/+4
| | | | | | | | | | | The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers.
* kernel: Eliminate kernel global stateGravatar Lioncash2018-08-284-7/+16
| | | | | | | | | | | | | | | | | | | | | | As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
* file_sys/crypto: Fix missing/unnecessary includesGravatar Zach Hilman2018-08-241-1/+0
|
* file_sys: Cut down on includes and copiesGravatar Zach Hilman2018-08-232-4/+11
|
* loader: Add new NAX-specific errors and messagesGravatar Zach Hilman2018-08-232-1/+27
|
* nax: Add AppLoader_NAX and update loader to support itGravatar Zach Hilman2018-08-234-2/+121
|
* xci: Fix error masking issueGravatar Zach Hilman2018-08-231-5/+6
| | | | Prevents NCA-related errors from being masked into MissingProgramNCA or MissingKeyFile
* service/filesystem: Use forward declarations where applicableGravatar Lioncash2018-08-202-0/+2
| | | | | | | | Avoids the need to rebuild multiple source files if the filesystem code headers change. This also gets rid of a few instances of indirect inclusions being relied upon
* Merge pull request #1075 from lioncash/includeGravatar bunnei2018-08-164-35/+22
|\ | | | | loader/{nca, xci}: Remove unnecessary includes and unused member variables
| * loader/nca: Remove unnecessary includes and member variablesGravatar Lioncash2018-08-152-20/+11
| |
| * loader/xci: Remove unnecessary includes and member variablesGravatar Lioncash2018-08-152-15/+11
| | | | | | | | | | | | | | | | Many of these aren't necessary and will cause this file to be required to be recompiled whenever any changes to those files are made, which lengthens compile times for no reason. This also removes an unused metadata variable from AppLoader_XCI
* | Merge pull request #1005 from DarkLordZach/registered-fmtGravatar bunnei2018-08-151-0/+2
|\ \ | | | | | | file_sys: Add support for registration format
| * | loader: Recognize filename '00' as NCAGravatar Zach Hilman2018-08-111-0/+2
| | | | | | | | | | | | Needed to avoid mismatch filetype warnings on split NAND NCAs
* | | loader: Make ResultStatus directly compatible with fmtGravatar Lioncash2018-08-152-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 citraGravatar Lioncash2018-08-146-17/+0
| |/ |/| | | | | These mappings are leftovers from citra and don't apply to the Switch.
* | made ResultStatus a u16Gravatar David Marcec2018-08-121-1/+1
| |
* | Fixed invalid cast in loaderGravatar David Marcec2018-08-121-1/+1
|/ | | | GetMessageForResultStatus takes a u16, not a size_t.
* loader: Add more descriptive errorsGravatar Zach Hilman2018-08-097-31/+111
| | | Full list of new errors and descriptions in core/loader/loader.h
* loader: Remove unused IdentifyFile overloadGravatar Zach Hilman2018-08-082-12/+0
|
* Merge pull request #850 from DarkLordZach/icon-metaGravatar bunnei2018-08-088-8/+115
|\ | | | | Add Icons and Metadata Support
| * loader: Add icon and title support to XCIGravatar Zach Hilman2018-08-063-3/+37
| |
| * Use const where applicableGravatar Zach Hilman2018-08-061-1/+1
| |
| * Avoid parsing RomFS to directory in NCAGravatar Zach Hilman2018-08-066-6/+79
| |
* | loader: Fix scope error in DeconstructedRomDirectoryGravatar Zach Hilman2018-08-071-1/+1
|/
* loader: Make AppLoader_NCA rely on directory loading codeGravatar Zach Hilman2018-08-054-37/+24
| | | Eliminates duplicate code shared between their Load methods, after all the only difference is how the romfs is handled.
* Merge pull request #849 from DarkLordZach/xciGravatar bunnei2018-08-046-7/+145
|\ | | | | XCI and Encrypted NCA Support
| * Fix merge conflicts with opus and update docsGravatar Zach Hilman2018-08-011-0/+2
| |
| * Use more descriptive error codes and messagesGravatar Zach Hilman2018-08-012-2/+3
| |
| * Use ErrorEncrypted where applicable and fix no keys crashGravatar Zach Hilman2018-08-011-0/+4
| |
| * Add missing includes and use const where applicableGravatar Zach Hilman2018-08-011-0/+3
| |
| * Make XCI comply to review and style guidelinesGravatar Zach Hilman2018-08-012-5/+5
| |
| * Remove files that are not usedGravatar Zach Hilman2018-08-016-6/+134
| |
* | kernel/process: Use accessors instead of class members for referencing ↵Gravatar Lioncash2018-08-033-5/+5
| | | | | | | | | | | | | | | | | | segment array Using member variables for referencing the segments array increases the size of the class in memory for little benefit. The same behavior can be achieved through the use of accessors that just return the relevant segment.
* | kernel: Move object class to its own source filesGravatar Lioncash2018-08-015-5/+5
|/ | | | | | 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.