aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2018-07-24ipc_helper: Add helper member function for popping enum values to RequestParserLioncash
2018-07-23Merge pull request #793 from lioncash/privbunnei
ipc_helpers: Make member variables of ResponseBuilder private
2018-07-23core: Make converting constructors explicit where applicableLioncash
Avoids unwanted implicit conversions. Thankfully, given the large amount of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-23apm/interface: Remove redundant declaration of InstallInterfaces()Lioncash
This is already declared in apm/apm.h
2018-07-23mutex: Pass SharedPtr to GetHighestPriorityMutexWaitingThread() by referenceLioncash
The pointed to thread's members are simply observed in this case, so we don't need to copy it here.
2018-07-23VFS Regression and Accuracy Fixes (#776)Zach Hilman
* Regression and Mode Fixes * Review Fixes * string_view correction * Add operator& for FileSys::Mode * Return std::string from SanitizePath * Farming Simulator Fix * Use != With mode operator&
2018-07-23hle_ipc: Make constructors explicit where applicableLioncash
2018-07-23ipc_helpers: Make member variables of ResponseBuilder privateLioncash
These aren't used externally at all, so they can be made private.
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-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-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-22Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real ↵Subv
kernel.
2018-07-22file_util, vfs: Use std::string_view where applicableLioncash
Avoids unnecessary construction of std::string instances where applicable.
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 #751 from Subv/tpidr_el0bunnei
CPU: Save and restore the TPIDR_EL0 system register on every context switch
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-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 #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-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-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-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 #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 #717 from lioncash/explicitbunnei
hle/service: Make constructors explicit where applicable
2018-07-19HLE/ACC: Return an IProfile that is consistent with what was requested.Subv
The default username for now is "yuzu". We should eventually allow the creation of users in the emulator and have the ability to modify their parameters.
2018-07-19HLE/ACC: Change the default user id to be consistent with what we tell games ↵Subv
on startup. In IApplicationFunctions::PopLaunchParameter we tell the games that they were launched as user id 1.
2018-07-19HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.Subv
We only emulate a single user id for now.
2018-07-19Merge pull request #716 from lioncash/constructbunnei
nvflinger: Emplace Display instances directly
2018-07-19hle_ipc: Introduce generic WriteBuffer overload for multiple container typesLioncash
This introduces a slightly more generic variant of WriteBuffer(). Notably, this variant doesn't constrain the arguments to only accepting std::vector instances. It accepts whatever adheres to the ContiguousContainer concept in the C++ standard library. This essentially means, std::array, std::string, and std::vector can be used directly with this interface. The interface no longer forces you to solely use containers that dynamically allocate. To ensure our overloads play nice with one another, we only enable the container-based WriteBuffer if the argument is not a pointer, otherwise we fall back to the pointer-based one.