aboutsummaryrefslogtreecommitdiff
path: root/src/core/loader
AgeCommit message (Collapse)Author
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.
2019-04-09Merge pull request #1957 from DarkLordZach/title-providerbunnei
file_sys: Provide generic interface for accessing game data
2019-04-04core: Add missing override specifiers where applicableLioncash
Applies the override specifier where applicable. In the case of destructors that are defaulted in their definition, they can simply be removed. This also removes the unnecessary inclusions being done in audin_u and audrec_u, given their close proximity.
2019-04-03Merge pull request #2093 from FreddyFunk/disk-cache-better-compressionbunnei
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
2019-04-01Merge pull request #2281 from lioncash/memorybunnei
kernel/codeset: Make CodeSet's memory data member a regular std::vector
2019-03-29Addressed feedbackunknown
2019-03-29core: Do not link LZ4 to core. Use common/data_compression for nso segment ↵unknown
decompression instead.
2019-03-27patch_manager: Dump NSO name with build IDZach Hilman
2019-03-23Merge pull request #2280 from lioncash/nsobunnei
loader/nso: Minor refactoring
2019-03-22kernel/codeset: Make CodeSet's memory data member a regular std::vectorLioncash
The use of a shared_ptr is an implementation detail of the VMManager itself when mapping memory. Because of that, we shouldn't require all users of the CodeSet to have to allocate the shared_ptr ahead of time. It's intended that CodeSet simply pass in the required direct data, and that the memory manager takes care of it from that point on. This means we just do the shared pointer allocation in a single place, when loading modules, as opposed to in each loader.
2019-03-22loader/nso: Place translation unit specific functions into an anonymous ↵Lioncash
namespace Makes it impossible to indirectly violate the ODR in some other translation unit due to these existing.
2019-03-22file_sys/cheat_engine: Remove use of global system accessorsLioncash
Instead, pass in the core timing instance and make the dependency explicit in the interface.
2019-03-22loader/nso: Clean up use of magic constantsLioncash
Now that the NSO header has the proper size, we can just use sizeof on it instead of having magic constants.
2019-03-22file_sys/patch_manager: Deduplicate NSO headerLioncash
This source file was utilizing its own version of the NSO header. Instead of keeping this around, we can have the patch manager also use the version of the header that we have defined in loader/nso.h
2019-03-22loader/nso: Fix definition of the NSO header structLioncash
The total struct itself is 0x100 (256) bytes in size, so we should be providing that amount of data. Without the data, this can result in omitted data from the final loaded NSO file.
2019-03-21Merge pull request #1933 from DarkLordZach/cheat-enginebunnei
file_sys: Implement parser and interpreter for game memory cheats
2019-03-20kernel: Move CodeSet structure to its own source filesLioncash
Given this is utilized by the loaders, this allows avoiding inclusion of the kernel process definitions where avoidable. This also keeps the loading format for all executable data separate from the kernel objects.
2019-03-19loader: Remove Linker classLioncash
Given the class is now currently unused, it can be removed.
2019-03-19loader: Remove Linker inheritance from NRO and NSO loadersLioncash
Neither the NRO or NSO loaders actually make use of the functions or members provided by the Linker interface, so we can just remove the inheritance altogether.
2019-03-05vm_manager: Remove cheat-specific ranges from VMManagerZach Hilman
2019-03-04loader/nso: Set main code region in VMManagerZach Hilman
For rom directories (and by extension, XCI/NSP/NAX/NCA) this is for the NSO with name 'main', for regular NSOs, this is the NSO.
2019-01-15loader: Propagate NCA logo section to ReadBanner and ReadLogoZach Hilman
2018-12-28web_browser: Add bounds checking to applet interfaceZach Hilman
2018-12-28loader: Add accessor for Manual RomFSZach Hilman