summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/program_metadata.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* vfs: Move vfs files to their own directoryFearlessTobi2024-01-251-1/+1
|
* general: properly support multiple memory instancesLiam2023-12-231-2/+11
|
* kernel: update KProcessLiam2023-10-221-6/+9
|
* loader: don't reassign program ID on npdm reparseLiam2023-09-301-0/+1
|
* Merge pull request #6142 from lat9nq/prog_meta_ref_bind_addressbunnei2022-10-071-10/+4
|\ | | | | program_metadata: Avoid reference binding to misaligned address
| * program_metadata: Unpack FileAccessHeader and FileAccessControllat9nq2022-02-131-10/+4
| | | | | | | | | | | | Avoids a reference binding to a misaligned addresses. Unpacking one requires unpacking the other, otherwise there'll be a misaligned address on the leftover one.
* | general: Convert source file copyright comments over to SPDXMorph2022-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.
* | common: Reduce unused includesameerj2022-03-191-0/+2
|/
* Merge pull request #6230 from Morph1984/default-resource-sizebunnei2021-04-241-1/+2
|\ | | | | program_metadata: Set a default resource size when a NPDM is not present
| * program_metadata: Set a default resource size when a NPDM is not presentMorph2021-04-231-1/+2
| | | | | | | | Sets a default size of 0x1FE00000 bytes (510 MiB) for the system_resource_size when a NPDM is not present.
* | program_metadata: Explicitly specify copy/move functionsLioncash2021-04-231-0/+6
|/ | | | | | | | The generation of the copy assignment operators are deprecated on being generated when a user-provided destructor is present. We can explicitly specify that we desire this behavior to keep the class forward compatible with future standards.
* file_sys: Replace inclusions with forward declarations where applicableLioncash2020-08-231-1/+1
| | | | Same behavior, minus unnecessary inclusions where not necessary.
* file_sys: program_metadata: Add a helper function for generating reasonable default metadata.bunnei2020-04-211-1/+5
| | | | - We need this for homebrew process initialization.
* loader; Resolve sign conversion/truncation errorsLioncash2019-11-121-2/+2
|
* Implement MapPhysicalMemory/UnmapPhysicalMemoryMichael Scire2019-07-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This implements svcMapPhysicalMemory/svcUnmapPhysicalMemory for Yuzu, which can be used to map memory at a desired address by games since 3.0.0. It also properly parses SystemResourceSize from NPDM, and makes information available via svcGetInfo. This is needed for games like Super Smash Bros. and Diablo 3 -- this PR's implementation does not run into the "ASCII reads" issue mentioned in the comments of #2626, which was caused by the following bugs in Yuzu's memory management that this PR also addresses: * Yuzu's memory coalescing does not properly merge blocks. This results in a polluted address space/svcQueryMemory results that would be impossible to replicate on hardware, which can lead to game code making the wrong assumptions about memory layout. * This implements better merging for AllocatedMemoryBlocks. * Yuzu's implementation of svcMirrorMemory unprotected the entire virtual memory range containing the range being mirrored. This could lead to games attempting to map data at that unprotected range/attempting to access that range after yuzu improperly unmapped it. * This PR fixes it by simply calling ReprotectRange instead of Reprotect.
* program_metadata: Add function to load meta from raw parametersZach Hilman2019-06-051-0/+5
| | | | Needed for KIP loading as KIPs do not have an NPDM but do have the essential parts of the data within.
* file_sys/program_metadata: Remove obsolete TODOsLioncash2019-04-051-2/+0
| | | | | | | BitField has been trivially copyable since e99a14862841841d74be8d0ea9426c2d23546b5e, so we can eliminate these TODO comments and use ReadObject() directly instead of memcpying the data.
* kernel/process: Hook up the process capability parser to the process itselfLioncash2018-12-211-0/+6
| | | | | While we're at it, we can also toss out the leftover capability parsing from Citra.
* process/vm_manager: Amend API to allow reading parameters from NPDM metadataLioncash2018-09-241-2/+4
| | | | | | | | | Rather than hard-code the address range to be 36-bit, we can derive the parameters from supplied NPDM metadata if the supplied exectuable supports it. This is the bare minimum necessary for this to be possible. The following commits will rework the memory code further to adjust to this.
* file-sys: Default heavy-weight class destructors in the cpp fileLioncash2018-09-201-0/+3
| | | | | | | | | | Several classes have a lot of non-trivial members within them, or don't but likely should have the destructor defaulted in the cpp file for future-proofing/being more friendly to forward declarations. Leaving the destructor unspecified allows the compiler to inline the destruction code all over the place, which is generally undesirable from a code bloat perspective.
* file_sys: Replace includes with forward declarations where applicableLioncash2018-09-041-3/+1
| | | | | Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed.
* made ResultStatus a u16David Marcec2018-08-121-1/+1
|
* Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman2018-07-191-2/+4
| | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
* Revert "Virtual Filesystem (#597)"bunnei2018-07-081-4/+2
| | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
* Virtual Filesystem (#597)Zach Hilman2018-07-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* file_sys: Style tweaksshinyquagsire232018-02-261-8/+5
| | | | Asdf
* file_sys: Add support for parsing NPDM filesshinyquagsire232018-02-251-0/+157