aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2018-09-26Merge pull request #1400 from lioncash/headerbunnei
service: Add missing headers inclusions where applicable
2018-09-25patch_manager: Invert conditionals within ApplyLayeredFS()Lioncash
Avoids the need to nest code quite a bit by early-exiting in error cases.
2018-09-25vfs_vector: Amend initializer list order in VectorVfsFile's constructor ↵Lioncash
initializer list Orders the initializer list members to be in the same order that they would be initialized in. Avoids compiler warnings.
2018-09-25fsmitm_romfsbuild: Avoid type truncation warningsLioncash
Cast where explicitly necessary and in other cases we can simply modify the algorithm to accomodate larger data.
2018-09-25fsmitm_romfsbuild: Remove unnecessary constructors and initializers for ↵Lioncash
RomFSBuildFileContext and RomFSBuildDirectoryContext There's no need to duplicate in-class initializers with a constructor initializer list. std::strings also initialize to empty by default.
2018-09-25fsmitm_romfsbuild: Remove unnecessary loops in Build()Lioncash
The std::vector instances are already initially allocated with all entries having these values, there's no need to loop through and fill them with it again when they aren't modified.
2018-09-25fsmitm_romfsbuild: Make auto variable into a std::size_t variable within Build()Lioncash
auto x = 0; auto-deduces x to be an int. This is undesirable when working with unsigned values. It also causes sign conversion warnings. Instead, we can make it a proper unsigned value with the correct width that the following expressions operate on.
2018-09-25vfs/etc: Append std:: to size_t usagesLioncash
Given we just recently had a patch backport this from citra, let's try and keep the convention uniform.
2018-09-25vfs_concat/vfs_layered: Remove friend declarations from ConcatenatedVfsFileLioncash
Given these are only added to the class to allow those functions to access the private constructor, it's a better approach to just make them static functions in the interface, to make the dependency explicit.
2018-09-25vfs_static: Remove template byte parameter from StaticVfsFileLioncash
This converts it into a regular constructor parameter. There's no need to make this a template parameter on the class when it functions perfectly well as a constructor argument. This also reduces the amount of code bloat produced by the compiler, as it doesn't need to generate the same code for multiple different instantiations of the same class type, but with a different fill value.
2018-09-25service: Add missing headers inclusions where applicableLioncash
Gets rid of a few indirect inclusions.
2018-09-25Merge pull request #1365 from DarkLordZach/lfsbunnei
file_sys: Add support for LayeredFS mods
2018-09-25core_cpu: Make arm_interface instances a std::unique_ptrLioncash
This is only exposed by reference, so we can just make it a unique pointer to get rid of the need to also use reference counting for the pointer.
2018-09-25kernel/scheduler: Take ARM_Interface instance by reference in the constructorLioncash
It doesn't make sense to allow a scheduler to be constructed around a null pointer.
2018-09-25Merge pull request #1393 from tech4me/svcbunnei
svc: Updated svc names
2018-09-24memory: Dehardcode the use of fixed memory range constantsLioncash
The locations of these can actually vary depending on the address space layout, so we shouldn't be using these when determining where to map memory or be using them as offsets for calculations. This keeps all the memory ranges flexible and malleable based off of the virtual memory manager instance state.
2018-09-24svc: Report correct memory-related values within some of the cases in ↵Lioncash
svcGetInfo() Previously, these were reporting hardcoded values, but given the regions can change depending on the requested address spaces, these need to report the values that the memory manager contains.
2018-09-24memory: Dehardcode the use of a 36-bit address spaceLioncash
Given games can also request a 32-bit or 39-bit address space, we shouldn't be hardcoding the address space range as 36-bit.
2018-09-24process/vm_manager: Amend API to allow reading parameters from NPDM metadataLioncash
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.
2018-09-23Implemented fatal:u properly (#1347)David
* Implemented fatal:u properly fatal:u now is properly implemented with all the ipc cmds. Error reports/Crash reports are also now implemented for fatal:u. Crash reports save to yuzu/logs/crash_reports/ The register dump is currently known as sysmodules send all zeros. If there are any non zero values for the "registers" or the unknown values, let me know! * Fatal:U fixups * Made fatal:u execution break more clear * Fatal fixups
2018-09-23Stubbed IRS (#1349)David
* Stubbed IRS Currently we have no ideal way of implementing IRS. For the time being we should have the functions stubbed until we come up with a way to emulate IRS properly. * Added IRS to logging backend * Forward declared shared memory for irs
2018-09-23Merge pull request #1354 from ogniK5377/ssl-versionbunnei
Corrected SSL::SetInterfaceVersion
2018-09-23fsmitm: Cleanup and modernize fsmitm portZach Hilman
2018-09-23stream: Preserve enum class type in GetState()Lioncash
Preserves the meaning/type-safetiness of the stream state instead of making it an opaque u32. This makes it usable for other things outside of the service HLE context.
2018-09-23svc: Updated svc namestech4me
2018-09-23Added audren:u#GetAudioRendererStateDavid Marcec
2018-09-22FPCR register was uninitialized at start upPhilippe Babin
2018-09-21qt: Add UI elements for LayeredFS and related toolsZach Hilman
2018-09-21romfs: Implement CreateRomFSZach Hilman
2018-09-21file_sys: Port Atmosphere-NX fs_mitm implementationZach Hilman
2018-09-21filesystem: Add LayeredFS VFS directory getterZach Hilman
2018-09-21bis_factory: Add mod directory VFS getterZach Hilman
2018-09-21patch_manager: Add LayeredFS mods supportZach Hilman
2018-09-21vfs_concat: Rewrite and fix ConcatenatedVfsFileZach Hilman
2018-09-21vfs_layered: Add LayeredVfsDirectoryZach Hilman
Reads multiple dirs through as if a waterfall.
2018-09-21vfs_vector: Add VectorVfsFileZach Hilman
Maps a vector into the VFS interface.
2018-09-21vfs_static: Add StaticVfsFileZach Hilman
Always returns the template argument byte for all reads. Doesn't support writes.
2018-09-21vfs: Add and rewite VfsRawCopy functionsZach Hilman
2018-09-21vfs: Add GetEntries methodZach Hilman
Maps name string to directory or file.
2018-09-21svc: Move most process termination code to its own function within ProcessLioncash
Reduces the use of Process class members externally and keeps most code related to tearing down a process with the rest of the process code.
2018-09-21thread/process: Move TLS slot marking/freeing to the process classLioncash
Allows making several members of the process class private, it also avoids going through Core::CurrentProcess() just to retrieve the owning process.
2018-09-21Added support for uncompressed NSOs (#1374)David
* Added support for uncompressed NSOs * Moved compressed section check to NsoHeader
2018-09-20Merge pull request #1372 from lioncash/threadbunnei
kernel/thread: Use owner_process when setting the page table in SetupMainThread()
2018-09-20Merge pull request #1371 from lioncash/fwd-armbunnei
arm_interface: Replace kernel vm_manager include with a forward declaration
2018-09-20Merge pull request #1364 from lioncash/contentbunnei
file-sys: Default heavy-weight class destructors in the cpp file
2018-09-20Merge pull request #1368 from ogniK5377/nifm-fixbunnei
Added IRequest::Submit
2018-09-21Revert GetRequestStateDavid Marcec
Even though setting this value to 3 is more correct. We break more games than we fix due to missing implementations. We should keep this as 0 for the time being
2018-09-20kernel/thread: Use owner_process when setting the page table in ↵Lioncash
SetupMainThread() The owning process of a thread is required to exist before the thread, so we can enforce this API-wise by using a reference. We can also avoid the reliance on the system instance by using that parameter to access the page table that needs to be set.
2018-09-20arm_interface: Replace kernel vm_manager include with a forward declarationLioncash
Avoids an unnecessary inclusion and also uncovers three places where indirect inclusions were relied upon, which allows us to also resolve those.
2018-09-20Merge pull request #1370 from Hedges/GDBCleanMat M
Correct endianness of BRK