summaryrefslogtreecommitdiff
path: root/src/core/loader/nso.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: Support multiple modules per patcherGravatar GPUCode2024-01-151-20/+21
|
* core: Rename patcher fileGravatar GPUCode2023-11-291-1/+1
|
* loader: fix gcc compileGravatar Liam2023-11-261-1/+1
|
* loader: apply nso patch to offset program imageGravatar Liam2023-11-251-4/+6
|
* core: Define HAS_NCE macroGravatar GPUCode2023-11-251-3/+3
|
* Address some review commentsGravatar GPUCode2023-11-251-7/+8
|
* arm: Implement native code execution backendGravatar Liam2023-11-251-7/+49
|
* core: improve debug workflowGravatar Liam2023-09-141-2/+3
|
* kernel: offset code entry point for 39-bit address space type (#11326)Gravatar liamwhite2023-08-251-1/+1
|
* k_process: PageTable -> GetPageTableGravatar Liam2023-07-141-1/+1
|
* kernel: use KTypedAddress for addressesGravatar Liam2023-03-221-1/+1
|
* general: rename CurrentProcess to ApplicationProcessGravatar Liam2023-02-131-1/+1
|
* code: dodge PAGE_SIZE #defineGravatar Kyle Kienapfel2022-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number This is great except in yuzu we're using PAGE_SIZE as a variable Specific example `static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;` PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables. Simply deleted the underscores, and then added YUZU_ prefix Might be worth noting that there are multiple uses in different classes/namespaces This list may not be exhaustive Core::Memory 12 bits (4096) QueryCacheBase 12 bits ShaderCache 14 bits (16384) TextureCache 20 bits (1048576, or 1MB) Fixes #8779
* general: fix compilation on MinGW GCC 12Gravatar Liam2022-06-131-5/+4
|
* general: Convert source file copyright comments over to SPDXGravatar Morph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* general: Make most settings a BasicSettingGravatar lat9nq2021-06-281-2/+2
| | | | | | | | | | | Creates a new BasicSettings class in common/settings, and forces setting a default and label for each setting that uses it in common/settings. Moves defaults and labels from both frontends into common settings. Creates a helper function in each frontend to facillitate reading the settings now with the new default and label properties. Settings::Setting is also now a subclass of Settings::BasicSetting. Also adds documentation for both Setting and BasicSetting.
* common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph2021-05-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
* hle: kernel: Rename Process to KProcess.Gravatar bunnei2021-05-051-3/+3
|
* loader: Resolve instances of variable shadowingGravatar Lioncash2021-04-271-11/+11
| | | | | Eliminates variable shadowing cases across all the loaders to bring us closer to enabling variable shadowing as an error in core.
* common: Move settings to common from core.Gravatar bunnei2021-04-141-1/+1
| | | | - Removes a dependency on core and input_common from common.
* hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.Gravatar bunnei2021-02-181-1/+1
|
* hle: kernel: KThread: Reorganize thread priority defaults.Gravatar bunnei2021-01-281-2/+2
|
* core: hle: kernel: Rename Thread to KThread.Gravatar bunnei2021-01-281-1/+1
|
* core: Eliminate remaining usages of the global system instanceGravatar Lioncash2020-11-271-4/+1
| | | | | | 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.
* patch_manager: Remove usages of the global system instanceGravatar Lioncash2020-11-181-1/+1
| | | | | | | With this, only 19 usages of the global system instance remain within the core library. We're almost there.
* core/CMakeLists: Make some warnings errorsGravatar Lioncash2020-10-131-1/+1
| | | | | | | | | 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.
* General: Make use of std::nullopt where applicableGravatar Lioncash2020-09-221-3/+3
| | | | | | | | 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.
* loader/nso: Remove unnecessary [[maybe_unused]]Gravatar Lioncash2020-09-161-2/+1
|
* core/loader: Remove dependencies on the global system instanceGravatar Lioncash2020-09-161-4/+4
| | | | | | | | | 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.
* 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-171-10/+12
|
* core: memory: Move to Core::Memory namespace.Gravatar bunnei2020-04-171-2/+2
| | | | - 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
|
* loader: provide default arguments (zero byte) to NSOsGravatar Michael Scire2020-01-221-3/+8
| | | | | | | | | | 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-181-5/+7
| | | | | 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
* VM_Manager: Align allocated memory to 256bytesGravatar Fernando Sahmkow2019-07-191-1/+1
| | | | | | 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.
* Merge pull request #2482 from DarkLordZach/prepoGravatar bunnei2019-06-211-0/+9
|\ | | | | core: Add detailed local reporting feature for development
| * loader: Move NSO module tracking to AppLoaderGravatar Zach Hilman2019-05-261-3/+9
| | | | | | 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.
* | 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-111-6/+5
| | | | | | | | | 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
| |
* | 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.