aboutsummaryrefslogtreecommitdiff
path: root/src/core/loader
AgeCommit message (Collapse)Author
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2021-01-03main: Resolve error string not displayingLioncash
During the transition to make the error dialog translatable, I accidentally got rid of the conversion to ResultStatus, which prevented operator<< from being invoked during formatting. This adds a function to directly retrieve the result status string instead so that it displays again.
2020-12-10vfs: Use existing type aliases consistentlyLioncash
Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
2020-11-27core: Eliminate remaining usages of the global system instanceLioncash
Removes all remaining usages of the global system instance. After this, migration can begin to migrate to being constructed and managed entirely by the various frontends.
2020-11-24core: loader: Implement support for loading indexed programs.bunnei
2020-11-18patch_manager: Remove usages of the global system instanceLioncash
With this, only 19 usages of the global system instance remain within the core library. We're almost there.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-13core/CMakeLists: Make some warnings errorsLioncash
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-09-22General: Make use of std::nullopt where applicableLioncash
Allows some implementations to avoid completely zeroing out the internal buffer of the optional, and instead only set the validity byte within the structure. This also makes it consistent how we return empty optionals.
2020-09-16file_sys/romfs_factory: Eliminate usage of the global system accessorLioncash
2020-09-16loader/nso: Remove unnecessary [[maybe_unused]]Lioncash
2020-09-16core/loader: Remove dependencies on the global system instanceLioncash
Now all that remains is: 18 instances in file_sys code 14 instances in GDB stub code (this can be tossed wholesale) 4 instances in HLE code 2 instances in settings code.
2020-08-16common/fileutil: Convert namespace to Common::FSLioncash
Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
2020-08-07common/concepts: Rename IsBaseOf to DerivedFromLioncash
This makes it more inline with its currently unavailable standardized analogue std::derived_from. While we're at it, we can also make the template match the requirements of the standardized variant as well.
2020-08-03Place in anonymous namespaceDavid Marcec
2020-08-03loader: Make IdentifyFile typesafeDavid Marcec
Relies on #4465 for concept.h Common::IsBaseOf
2020-04-20loader: nro: Fix process initialization using ProgramMetadata default.bunnei
2020-04-20loader: elf: Fix process initialization using ProgramMetadata default.bunnei
2020-04-17loader/nso: Resolve moves not occurring in DecompressSegmentLioncash
Given the std::vector was const, an automatic move out of the function could not occur. We can allow automatic return value optimizations to occur by making the buffer non-const.
2020-04-17loader: nso: Fix loader size and arguments.bunnei
2020-04-17loader: elf/kip/nro: Updates for new VMM.bunnei
2020-04-17core: memory: Move to Core::Memory namespace.bunnei
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17loader: nso: Fix loading of static objects to be properly sized and aligned.bunnei
2020-03-02core: loader: Remove check for 32-bit.bunnei
2020-01-22loader: provide default arguments (zero byte) to NSOsMichael Scire
Certain newer unity games (Terraria, Pokemon Mystery Dungeon) require that the argument region be populated. Failure to do so results in an integer underflow in argument count, and eventually an unmapped read at 0x800000000. Providing this default fixes this. Note that the behavior of official software is as yet unverified, arguments-wise.
2020-01-18core/loaders: Simplify PhysicalMemory usage.Markus Wick
It is currently a std::vector, however we might want to replace it with a more fancy allocator. So we can't use the C++ iterators any more.
2019-09-30core/loader: Track the NSO build ID of the current processZach Hilman
2019-09-21nso: Pass build ID directlyZach Hilman
As opposed to converting to string and then back to hex array
2019-09-21yuzu: Port old usages of Filesystem namespace to FilesystemControllerZach Hilman
2019-09-21Merge pull request #2576 from DarkLordZach/nsp-fix-1David
nsp: Fix various errors with loading and processing of extracted NSPs
2019-09-08nro: Implement ReadControlDataNick Renieris
With this, the "Developer" field in the Properties for homebrew is now populated. Signed-off-by: Nick Renieris <velocityra@gmail.com>
2019-07-19VM_Manager: Align allocated memory to 256bytesFernando Sahmkow
This commit ensures that all backing memory allocated for the Guest CPU is aligned to 256 bytes. This due to how gpu memory works and the heavy constraints it has in the alignment of physical memory.
2019-07-02file_sys: Rename other ContentRecordType membersBakugo
2019-06-21Merge pull request #2546 from DarkLordZach/kipsbunnei
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
2019-06-21Merge pull request #2482 from DarkLordZach/prepobunnei
core: Add detailed local reporting feature for development
2019-06-12common/hex_util: Combine HexVectorToString() and HexArrayToString()Lioncash
These can be generified together by using a concept type to designate them. This also has the benefit of not making copies of potentially very large arrays.
2019-06-10nsp: Correct status codes for extracted NSPsZach Hilman
Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
2019-06-10nsp: Use title ID from NPDM metadata for extracted type NSPsZach Hilman
Avoids 0 being used as title ID for all extracted NSPs.
2019-06-06kernel_executable: Optimize BLZ decompressionZach Hilman
2019-06-05Merge pull request #2526 from lioncash/globalZach Hilman
core/telemetry_session: Remove usages of the global system accessor
2019-06-05loader: Add recognition for KIP file typeZach Hilman
2019-06-05loader: Add KIP and INI file parser-specific errorsZach Hilman
2019-06-05loader: Add AppLoader_KIP for KIP filesZach Hilman
2019-05-28core/loader: Remove LoadKernelSystemModeLioncash
This is a hold-over from Citra and doesn't apply to yuzu.
2019-05-26loader: Move NSO module tracking to AppLoaderZach Hilman
Also cleanup of general stuff
2019-05-25loader/nso: Silence sign-comparison warningLioncash
This was previously performing a size_t == int comparison. Silences a -Wsign-compare warning.
2019-05-25core: Track load offsets of NSO modulesZach Hilman
Needed for backtrace decomposition
2019-04-30loader/nso: Remove left-in debug pragmaLioncash
Unintentionally introduced in 552d5071fa171165e4054392d8bb6bf2ecc924e2
2019-04-11core/core: Move process execution start to System's Load()Lioncash
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.