summaryrefslogtreecommitdiff
path: root/src/core/loader (follow)
Commit message (Collapse)AuthorAgeFilesLines
* loader: nro: Fix process initialization using ProgramMetadata default.Gravatar bunnei2020-04-202-11/+14
|
* loader: elf: Fix process initialization using ProgramMetadata default.Gravatar bunnei2020-04-201-0/+5
|
* loader/nso: Resolve moves not occurring in DecompressSegmentGravatar Lioncash2020-04-171-1/+1
| | | | | | | | 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.
* loader: nso: Fix loader size and arguments.Gravatar bunnei2020-04-173-25/+47
|
* loader: elf/kip/nro: Updates for new VMM.Gravatar bunnei2020-04-173-5/+7
|
* core: memory: Move to Core::Memory namespace.Gravatar bunnei2020-04-174-6/+6
| | | | - helpful to disambiguate Kernel::Memory namespace.
* loader: nso: Fix loading of static objects to be properly sized and aligned.Gravatar bunnei2020-04-171-19/+9
|
* core: loader: Remove check for 32-bit.Gravatar bunnei2020-03-021-6/+0
|
* loader: provide default arguments (zero byte) to NSOsGravatar Michael Scire2020-01-222-3/+10
| | | | | | | | | | 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.
* core/loaders: Simplify PhysicalMemory usage.Gravatar Markus Wick2020-01-183-8/+12
| | | | | 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.
* core/loader: Track the NSO build ID of the current processGravatar Zach Hilman2019-09-301-0/+1
|
* nso: Pass build ID directlyGravatar Zach Hilman2019-09-211-2/+1
| | | As opposed to converting to string and then back to hex array
* yuzu: Port old usages of Filesystem namespace to FilesystemControllerGravatar Zach Hilman2019-09-215-5/+15
|
* Merge pull request #2576 from DarkLordZach/nsp-fix-1Gravatar David2019-09-211-14/+13
|\ | | | | nsp: Fix various errors with loading and processing of extracted NSPs
| * nsp: Correct status codes for extracted NSPsGravatar Zach Hilman2019-06-101-13/+12
| | | | | | | | Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
| * nsp: Use title ID from NPDM metadata for extracted type NSPsGravatar Zach Hilman2019-06-101-1/+1
| | | | | | | | Avoids 0 being used as title ID for all extracted NSPs.
* | nro: Implement ReadControlDataGravatar Nick Renieris2019-09-082-0/+10
| | | | | | | | | | | | With this, the "Developer" field in the Properties for homebrew is now populated. Signed-off-by: Nick Renieris <velocityra@gmail.com>
* | VM_Manager: Align allocated memory to 256bytesGravatar Fernando Sahmkow2019-07-194-4/+4
| | | | | | | | | | | | 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.
* | file_sys: Rename other ContentRecordType membersGravatar Bakugo2019-07-022-2/+3
| |
* | Merge pull request #2546 from DarkLordZach/kipsGravatar bunnei2019-06-214-1/+157
|\ \ | | | | | | loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
| * | kernel_executable: Optimize BLZ decompressionGravatar Zach Hilman2019-06-061-4/+8
| | |
| * | loader: Add recognition for KIP file typeGravatar Zach Hilman2019-06-052-0/+11
| | |
| * | loader: Add KIP and INI file parser-specific errorsGravatar Zach Hilman2019-06-052-1/+9
| | |
| * | loader: Add AppLoader_KIP for KIP filesGravatar Zach Hilman2019-06-052-0/+133
| | |
* | | Merge pull request #2482 from DarkLordZach/prepoGravatar bunnei2019-06-2113-0/+64
|\ \ \ | | | | | | | | core: Add detailed local reporting feature for development
| * | | loader: Move NSO module tracking to AppLoaderGravatar Zach Hilman2019-05-2613-3/+64
| | | | | | | | | | | | Also cleanup of general stuff
| * | | core: Track load offsets of NSO modulesGravatar Zach Hilman2019-05-251-0/+3
| | | | | | | | | | | | | | | | Needed for backtrace decomposition
* | | | common/hex_util: Combine HexVectorToString() and HexArrayToString()Gravatar Lioncash2019-06-121-2/+2
| |_|/ |/| | | | | | | | | | | | | | 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.
* | | Merge pull request #2526 from lioncash/globalGravatar Zach Hilman2019-06-051-11/+0
|\ \ \ | |_|/ |/| | core/telemetry_session: Remove usages of the global system accessor
| * | core/loader: Remove LoadKernelSystemModeGravatar Lioncash2019-05-281-11/+0
| |/ | | | | | | This is a hold-over from Citra and doesn't apply to yuzu.
* / loader/nso: Silence sign-comparison warningGravatar Lioncash2019-05-251-1/+1
|/ | | | | This was previously performing a size_t == int comparison. Silences a -Wsign-compare warning.
* loader/nso: Remove left-in debug pragmaGravatar Lioncash2019-04-301-2/+0
| | | | Unintentionally introduced in 552d5071fa171165e4054392d8bb6bf2ecc924e2
* core/core: Move process execution start to System's Load()Gravatar Lioncash2019-04-1117-98/+128
| | | | | | | | | 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.
* Merge pull request #1957 from DarkLordZach/title-providerGravatar bunnei2019-04-091-2/+4
|\ | | | | file_sys: Provide generic interface for accessing game data
| * patch_manager: Dump NSO name with build IDGravatar Zach Hilman2019-03-271-2/+4
| |
* | core: Add missing override specifiers where applicableGravatar Lioncash2019-04-041-1/+1
| | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2093 from FreddyFunk/disk-cache-better-compressionGravatar bunnei2019-04-031-10/+7
|\ \ | | | | | | Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
| * | Addressed feedbackGravatar unknown2019-03-291-4/+4
| | |
| * | core: Do not link LZ4 to core. Use common/data_compression for nso segment ↵Gravatar unknown2019-03-291-10/+7
| |/ | | | | | | decompression instead.
* | Merge pull request #2281 from lioncash/memoryGravatar bunnei2019-04-013-3/+3
|\ \ | |/ |/| kernel/codeset: Make CodeSet's memory data member a regular std::vector
| * kernel/codeset: Make CodeSet's memory data member a regular std::vectorGravatar Lioncash2019-03-223-3/+3
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2280 from lioncash/nsoGravatar bunnei2019-03-232-59/+81
|\ \ | | | | | | loader/nso: Minor refactoring
| * | loader/nso: Place translation unit specific functions into an anonymous ↵Gravatar Lioncash2019-03-221-20/+21
| | | | | | | | | | | | | | | | | | | | | namespace Makes it impossible to indirectly violate the ODR in some other translation unit due to these existing.
| * | loader/nso: Clean up use of magic constantsGravatar Lioncash2019-03-221-4/+6
| | | | | | | | | | | | | | | Now that the NSO header has the proper size, we can just use sizeof on it instead of having magic constants.
| * | file_sys/patch_manager: Deduplicate NSO headerGravatar Lioncash2019-03-222-50/+57
| | | | | | | | | | | | | | | | | | 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
| * | loader/nso: Fix definition of the NSO header structGravatar Lioncash2019-03-221-3/+15
| |/ | | | | | | | | | | | | | | 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.
* / file_sys/cheat_engine: Remove use of global system accessorsGravatar Lioncash2019-03-221-4/+4
|/ | | | | Instead, pass in the core timing instance and make the dependency explicit in the interface.
* Merge pull request #1933 from DarkLordZach/cheat-engineGravatar bunnei2019-03-211-0/+12
|\ | | | | file_sys: Implement parser and interpreter for game memory cheats
| * vm_manager: Remove cheat-specific ranges from VMManagerGravatar Zach Hilman2019-03-053-11/+4
| |
| * loader/nso: Set main code region in VMManagerGravatar Zach Hilman2019-03-043-2/+21
| | | | | | | | 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.