aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2018-07-23Merge pull request #783 from lioncash/linkerbunnei
linker: Remove unused parameter from WriteRelocations()
2018-07-23Merge pull request #782 from lioncash/filebunnei
loader/nro: Minor changes
2018-07-23Merge pull request #780 from lioncash/movebunnei
vi: Minor changes
2018-07-23Merge pull request #779 from lioncash/sharedbunnei
hle: Remove unused config_mem and shared_page source files
2018-07-23linker: Remove unused parameter from WriteRelocations()Lioncash
is_jump_relocation is never used within the function, so we can just remove it.
2018-07-23nro: Replace inclusion with a forward declarationLioncash
It's sufficient to use a forward declaration instead of a direct inclusion here.
2018-07-23nro: Make bracing consistentLioncash
Makes the code more uniform, and also braces cases where the body of an unbraced conditional travels more than one line.
2018-07-23nro: Make constructor explicitLioncash
Makes it consistent with the other Apploader constructors, and prevents implicit conversions.
2018-07-23nro: Remove unused forward declarationLioncash
This isn't used anywhere in the header.
2018-07-23Merge pull request #695 from DarkLordZach/nro-assetbunnei
NRO Assets and NACP File Format
2018-07-23vi: Add std::is_trivially_copyable checks to Read and Write functionsLioncash
It's undefined behavior to memcpy an object that isn't considered trivially copyable, so put a compile-time check in to make sure this doesn't occur.
2018-07-23vi: std::move std::vector in constructors where applicableLioncash
Allows avoiding unnecessary copies of the vector depending on the calling code. While we're at it, remove a redundant no-parameter base constructor call
2018-07-23hle: Remove config_mem.h/.cppLioncash
This is just an unused hold-over from citra, so we can get rid of this to trim off an exposed global, among other things.
2018-07-23hle: Remove shared_page.h/.cppLioncash
This is a holdover from citra that's essentially unused.
2018-07-23set: Add missing log call in GetAvailableLanguageCodeCount()Lioncash
Forgot to include this in 22f448b6327044076959e338811ee576f3dcf093
2018-07-23NRO Assets and NACP file formatZach Hilman
Cleanup Review fixes
2018-07-23Merge pull request #777 from lioncash/langbunnei
set: Amend return value of GetAvailableLanguageCodes()
2018-07-23set: Implement GetAvailableLanguageCodeCount()Lioncash
This just returns the size of the language code buffer.
2018-07-23set: Correct return code size of value in GetAvailableLanguageCodes()Lioncash
The return code should be 32-bit in size.
2018-07-22Merge pull request #774 from Subv/atomic_signalbunnei
Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.
2018-07-22Merge pull request #768 from lioncash/string-viewbunnei
file_util, vfs: Use std::string_view where applicable
2018-07-22Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real ↵Subv
kernel.
2018-07-22Implement exclusive monitorMerryMage
2018-07-22vfs: Correct file_p variable usage within InterpretAsDirectory()Lioncash
ReplaceFileWithSubdirectory() takes a VirtualFile and a VirtualDir, but it was being passed a string as one of its arguments. The only reason this never caused issues is because this template isn't instantiated anywhere yet. This corrects an issue before it occurs.
2018-07-22file_util, vfs: Use std::string_view where applicableLioncash
Avoids unnecessary construction of std::string instances where applicable.
2018-07-21file_util: Use a u64 to represent number of entriesLioncash
This avoids a truncating cast on size. I doubt we'd ever traverse a directory this large, however we also shouldn't truncate sizes away.
2018-07-21Merge pull request #760 from lioncash/pathbunnei
file_util: Use an enum class for GetUserPath()
2018-07-21GPU: Implement the NVGPU_IOCTL_CHANNEL_KICKOFF_PB ioctl2 command.Subv
This behaves quite similarly to the SubmitGPFIFO command. Referenced from Ryujinx. Many thanks to @gdkchan for investigating this!
2018-07-21file_util: Use an enum class for GetUserPath()Lioncash
Instead of using an unsigned int as a parameter and expecting a user to always pass in the correct values, we can just convert the enum into an enum class and use that type as the parameter type instead, which makes the interface more type safe. We also get rid of the bookkeeping "NUM_" element in the enum by just using an unordered map. This function is generally low-frequency in terms of calls (and I'd hope so, considering otherwise would mean we're slamming the disk with IO all the time) so I'd consider this acceptable in this case.
2018-07-21Merge pull request #754 from lioncash/partbunnei
partition_filesystem, vfs_real: Minor changes
2018-07-21Merge pull request #750 from lioncash/ctxbunnei
arm_interface: Remove unused tls_address member of ThreadContext
2018-07-21Merge pull request #755 from lioncash/ctorbunnei
file_sys/errors: Remove redundant object constructor calls
2018-07-21Merge pull request #751 from Subv/tpidr_el0bunnei
CPU: Save and restore the TPIDR_EL0 system register on every context switch
2018-07-21Merge pull request #753 from lioncash/constbunnei
vfs: Minor changes
2018-07-20Merge pull request #752 from Subv/vfs_loadbunnei
Loader: Only print the module names and addresses if they actually exist.
2018-07-20file_sys/errors: Remove redundant object constructor callsLioncash
Given we're already constructing the error code, we don't need to call the constructor inside of it.
2018-07-20vfs_real: Remove redundant copying of std::vector instances in GetFiles() ↵Lioncash
and GetSubdirectories() We already return by value, so we don't explicitly need to make the copy.
2018-07-20partition_filesystem, vfs_real: Add missing standard includesLioncash
2018-07-20partition_filesystem, vfs_real: Use std::move in ↵Lioncash
ReplaceFileWithSubdirectory() where applicable Avoids unnecessary atomic increment and decrement operations.
2018-07-20partition_filesystem, vfs_real: Use std::distance() instead of subtractionLioncash
This is a little bit more self-documenting on what is being done here.
2018-07-20vfs_offset: Simplify TrimToFit()Lioncash
We can simply use std::clamp() here, instead of using an equivalent with std::max() and std::min().
2018-07-20vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by ↵Lioncash
const reference Given the data is intended to be directly written, there's no need to take the std::vector by value and copy the data.
2018-07-20vfs: Use variable template variants of std::is_trivially_copyableLioncash
Provides the same behavior, but with less writing
2018-07-20vfs: Amend constness on pointers in WriteBytes() and WriteArrays() member ↵Lioncash
functions to be const qualified These functions don't modify the data being pointed to, so these can be pointers to const data
2018-07-20Loader: Only print the module names and addresses if they actually exist.Subv
2018-07-20CPU: Save and restore the TPIDR_EL0 system register on every context switch.Subv
Note that there's currently a dynarmic bug preventing this register from being written.
2018-07-20arm_interface: Remove unused tls_address member of ThreadContextLioncash
Currently, the TLS address is set within the scheduler, making this member unused.
2018-07-20Merge pull request #742 from bunnei/misc-apmbunnei
apm: Improve stub for GetPerformanceConfiguration.
2018-07-20apm: Improve stub for GetPerformanceConfiguration.bunnei
2018-07-20ipc_helpers: Add PushEnum() member function to ResponseBuilderLioncash
Allows pushing strongly-typed enum members without the need to always cast them at the call sites. Note that we *only* allow strongly-typed enums in this case. The reason for this is that strongly typed enums have a guaranteed defined size, so the size of the data being pushed is always deterministic. With regular enums this can be a little more error-prone, so we disallow them. This function simply uses the underlying type of the enum to determine the size of the data. For example, if an enum is defined as: enum class SomeEnum : u16 { SomeEntry }; if PushEnum(SomeEnum::SomeEntry); is called, then it will push a u16-size amount of data.