aboutsummaryrefslogtreecommitdiff
path: root/src/core/loader
AgeCommit message (Collapse)Author
2018-08-05loader: Make AppLoader_NCA rely on directory loading codeZach Hilman
Eliminates duplicate code shared between their Load methods, after all the only difference is how the romfs is handled.
2018-08-04Merge pull request #849 from DarkLordZach/xcibunnei
XCI and Encrypted NCA Support
2018-08-03kernel/process: Use accessors instead of class members for referencing ↵Lioncash
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.
2018-08-01kernel: Move object class to its own source filesLioncash
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.
2018-08-01Fix merge conflicts with opus and update docsZach Hilman
2018-08-01Use more descriptive error codes and messagesZach Hilman
2018-08-01Use ErrorEncrypted where applicable and fix no keys crashZach Hilman
2018-08-01Add missing includes and use const where applicableZach Hilman
2018-08-01Make XCI comply to review and style guidelinesZach Hilman
2018-08-01Remove files that are not usedZach Hilman
2018-07-24deconstructed_rom_directory: Remove unused FindRomFS() functionLioncash
2018-07-23core: Make converting constructors explicit where applicableLioncash
Avoids unwanted implicit conversions. Thankfully, given the large amount of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-23Merge pull request #784 from lioncash/loaderbunnei
loader: Minor cleanup
2018-07-23Merge pull request #783 from lioncash/linkerbunnei
linker: Remove unused parameter from WriteRelocations()
2018-07-23loader: Remove unnecessary constructor call in IdentifyFile()Lioncash
RealVfsFile inherits from VfsFile, the instance from std::make_shared is already compatible with the function argument type, making the copy constructor call unnecessary.
2018-07-23linker: Remove unused parameter from WriteRelocations()Lioncash
is_jump_relocation is never used within the function, so we can just remove it.
2018-07-23nro: Replace inclusion with a forward declarationLioncash
It's sufficient to use a forward declaration instead of a direct inclusion here.
2018-07-23nro: Make bracing consistentLioncash
Makes the code more uniform, and also braces cases where the body of an unbraced conditional travels more than one line.
2018-07-23nro: Make constructor explicitLioncash
Makes it consistent with the other Apploader constructors, and prevents implicit conversions.
2018-07-23nro: Remove unused forward declarationLioncash
This isn't used anywhere in the header.
2018-07-23NRO Assets and NACP file formatZach Hilman
Cleanup Review fixes
2018-07-22file_util, vfs: Use std::string_view where applicableLioncash
Avoids unnecessary construction of std::string instances where applicable.
2018-07-21file_util: Use a u64 to represent number of entriesLioncash
This avoids a truncating cast on size. I doubt we'd ever traverse a directory this large, however we also shouldn't truncate sizes away.
2018-07-20Merge pull request #752 from Subv/vfs_loadbunnei
Loader: Only print the module names and addresses if they actually exist.
2018-07-20Loader: Only print the module names and addresses if they actually exist.Subv
2018-07-20Merge pull request #737 from lioncash/movebunnei
filesys/loader: std::move VirtualFile instances in constructors where applicable
2018-07-20loader/{nca, nro}: std::move VirtualFile in the constructors where applicableLioncash
This avoids unnecessary atomic reference count increments and decrements
2018-07-19nso: Silence implicit sign conversion warningsLioncash
2018-07-19nso: Remove unused function ReadSegment()Lioncash
2018-07-19Merge pull request #719 from lioncash/docsbunnei
loader: Amend Doxygen comments
2018-07-19Merge pull request #718 from lioncash/readbunnei
loader/nso: Check if read succeeded in IdentifyFile() before checking magic value
2018-07-19loader: Amend Doxygen commentsLioncash
These weren't adjusted when VFS was introduced
2018-07-19loader/nso: Check if read succeeded in IdentifyFile() before checking magic ↵Lioncash
value We should always assume the filesystem is volatile and check each IO operation. While we're at it reorganize checks so that early-out errors are near one another.
2018-07-18loader/nro: Resolve sign mismatch warningsLioncash
2018-07-18loader/nso: Remove unnecessary vector resizesLioncash
We can just initialize these vectors directly via their constructor.
2018-07-18loader/nso: Resolve sign mismatch warningsLioncash
2018-07-18Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-17General Filesystem and Save Data Fixes (#670)Zach Hilman
2018-07-12More improvements to GDBStub (#653)Hedges
* More improvements to GDBStub - Debugging of threads should work correctly with source and assembly level stepping and modifying registers and memory, meaning threads and callstacks are fully clickable in VS. - List of modules is available to the client, with assumption that .nro and .nso are backed up by an .elf with symbols, while deconstructed ROMs keep N names. - Initial support for floating point registers. * Tidy up as requested in PR feedback * Tidy up as requested in PR feedback
2018-07-07Revert "Virtual Filesystem (#597)"bunnei
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman
* 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
2018-07-02Update clang formatJames Rowe
2018-07-02Rename logging macro back to LOG_*James Rowe
2018-06-21Add support for decrypted NCA files (#567)Zach Hilman
* 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
2018-05-02general: Make formatting of logged hex values more straightforwardLioncash
This makes the formatting expectations more obvious (e.g. any zero padding specified is padding that's entirely dedicated to the value being printed, not any pretty-printing that also gets tacked on).
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash
2018-04-24loader: Move old logging macros over to new fmt-capable onesLioncash
2018-04-20Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOsSubv
2018-04-06core, main.h: Abort on 32Bit ROMs (#309)N00byKing
* core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar
2018-04-03deconstructed_rom_directory.cpp: Fix TypoN00byKing