aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
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.
2018-07-20Merge pull request #740 from Subv/acc_crashbunnei
HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
2018-07-20Merge pull request #737 from lioncash/movebunnei
filesys/loader: std::move VirtualFile instances in constructors where applicable
2018-07-20Merge pull request #736 from lioncash/nullbunnei
audout_u/audren_u: Ensure null terminators are written out in ListAudioOutsImpl(), ListAudioDeviceName(), and GetActiveAudioDeviceName()
2018-07-20Merge pull request #734 from lioncash/threadbunnei
thread: Convert ThreadStatus into an enum class
2018-07-20Merge pull request #733 from lioncash/dirsbunnei
partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()
2018-07-20Merge pull request #732 from lioncash/unusedbunnei
nso: Minor changes
2018-07-20HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.Subv
And make IManagerForApplication::CheckAvailability always return false. Returning a bogus id from GetAccountId causes games to crash on boot. We should investigate this with a hwtest and either stub it properly or implement it.
2018-07-20loader/{nca, nro}: std::move VirtualFile in the constructors where applicableLioncash
This avoids unnecessary atomic reference count increments and decrements
2018-07-20vfs_offset: std::move file and name parameters of OffsetVfsFileLioncash
Avoids potentially unnecessary atomic reference count incrementing and decrementing, as well as string copying.
2018-07-19audren_u: Use a std::array instead of std::string for holding the audio ↵Lioncash
interface/device name std::string doesn't include the null-terminator in its data() + size() range. This ensures that the null-terminator will also be written to the buffer
2018-07-19audout_u: Use a std::array instead of std::string for holding the audio ↵Lioncash
interface name Uses a type that doesn't potentially dynamically allocate, and ensures that the name of the interface is properly null-terminated when writing it to the buffer.
2018-07-19thread: Convert ThreadStatus into an enum classLioncash
Makes the thread status strongly typed, so implicit conversions can't happen. It also makes it easier to catch mistakes at compile time.
2018-07-19partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()Lioncash
This should be returned here, otherwise pfs_dirs is effectively only ever added to, but never read.
2018-07-19nso: Silence implicit sign conversion warningsLioncash
2018-07-19nso: Remove unused function ReadSegment()Lioncash
2018-07-19pl_u: Simplify WriteBuffer() calls in GetSharedFontInOrderOfPriority()Lioncash
With the new overload, we can simply pass the container directly.
2018-07-19Merge pull request #726 from lioncash/overloadbunnei
hle_ipc: Introduce generic WriteBuffer overload for multiple container types
2018-07-19Merge pull request #725 from lioncash/bytesbunnei
pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority()
2018-07-19Merge pull request #728 from Subv/acc_profilebunnei
HLE/ACC: Change the default user id and small improvements to the way we handle profiles
2018-07-19Merge pull request #727 from Subv/acc_usersbunnei
HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.
2018-07-19Merge pull request #724 from lioncash/printfbunnei
pl_u: Remove printf specifier in log call in a log call in GetSharedFontInOrderOfPriority()
2018-07-19Merge pull request #723 from lioncash/gdbbunnei
gdbstub: Get rid of a few signed/unsigned comparisons
2018-07-19Merge pull request #722 from lioncash/signedbunnei
hid: Resolve a signed/unsigned comparison warning
2018-07-19Merge pull request #721 from lioncash/svcbunnei
svc: Correct always true assertion case in SetThreadCoreMask
2018-07-19Merge pull request #719 from lioncash/docsbunnei
loader: Amend Doxygen comments