aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2018-08-15loader/nca: Remove unnecessary includes and member variablesLioncash
2018-08-15loader/xci: Remove unnecessary includes and member variablesLioncash
Many of these aren't necessary and will cause this file to be required to be recompiled whenever any changes to those files are made, which lengthens compile times for no reason. This also removes an unused metadata variable from AppLoader_XCI
2018-08-15lm: Use LOG_DEBUG for printing out trace logsLioncash
Using LOG_TRACE here isn't a good idea because LOG_TRACE is only enabled when yuzu is compiled in debug mode. Debug mode is also quite slow, and so we're potentially throwing away logging messages that can provide value when trying to boot games.
2018-08-15lm: Handle threads and modules within the loggerLioncash
The thread field serves to indicate which thread a log is related to and provides the length of the thread's name, so we can print that out, ditto for modules. Now we can know what threads are potentially spawning off logging messages (for example Lydie & Suelle bounces between MainThread and LoadingThread when initializing the game).
2018-08-14Merge pull request #1067 from lioncash/initbunnei
emu_window: Ensure WindowConfig members are always initialized
2018-08-14Merge pull request #1073 from lioncash/3dsbunnei
loader: Remove address mapping remnants from citra
2018-08-14Merge pull request #1072 from lioncash/svcbunnei
kernel/svc: Log svcBreak parameters
2018-08-14Merge pull request #1056 from lioncash/mmbunnei
mm_u: Move interface class into the cpp file
2018-08-14loader: Remove address mapping remnants from citraLioncash
These mappings are leftovers from citra and don't apply to the Switch.
2018-08-14kernel/svc: Log svcBreak parametersLioncash
Given if we hit here all is lost, we should probably be logging the break reason code and associated information to distinguish between the causes.
2018-08-14emu_window: Ensure WindowConfig members are always initializedLioncash
Previously we weren't always initializing all members of the struct. Prevents potentially wonky behavior from occurring.
2018-08-14common/telemetry: Migrate core-independent info gathering to commonLioncash
Previously core itself was the library containing the code to gather common information (build info, CPU info, and OS info), however all of this isn't core-dependent and can be moved to the common code and use the common interfaces. We can then just call those functions from the core instead. This will allow replacing our CPU detection with Xbyak's which has better detection facilities than ours. It also keeps more architecture-dependent code in common instead of core.
2018-08-14Merge pull request #1055 from lioncash/initbunnei
audout_u: Correct IAudioOut initializer list order
2018-08-13Merge pull request #1046 from ogniK5377/missing-channelsMat M
Added missing channel devices
2018-08-13mm_u: Forward all old variants of functions to the new onesLioncash
Ensures both variants go through the same interface, and while we're at it, add Finalize to provide the inverse of Initialize for consistency.
2018-08-13mm_u: Move implementation class into the cpp fileLioncash
Now if changes are ever made to the behavior of the class, it doesn't involve rebuilding everything that includes the mm_u header.
2018-08-13audout_u: Correct IAudioOut initializer list orderLioncash
Orders elements in the precise order they'll be initialized.
2018-08-13arm_dynarmic: Remove IsExecuting check from PrepareRescheduleMerryMage
No longer required. HaltExecution is a no-op if it is not currently executing.
2018-08-13Core::CoreTiming: add UnscheduleEventThreadsafeB3n30
2018-08-13Merge pull request #1032 from lioncash/sanitizebunnei
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
2018-08-13Merge pull request #1031 from lioncash/verbositybunnei
card_image: Simplify return statement of GetSubdirectories()
2018-08-13kernel/object: Tighten object against data racesLioncash
Despite being covered by a global mutex, we should still ensure that the class handles its reference counts properly. This avoids potential shenanigans when it comes to data races. Given this is the root object that drives quite a bit of the kernel object hierarchy, ensuring we always have the correct behavior (and no races) is a good thing.
2018-08-13Registered missing channel devicesDavid Marcec
2018-08-13Added missing channel devicesDavid Marcec
2018-08-12Merge pull request #1043 from Subv/timingbunnei
Use an approximated amortized amount of ticks when advancing timing.
2018-08-12Merge pull request #1036 from lioncash/threadbunnei
scheduler: Make HaveReadyThreads() a const member function
2018-08-12Merge pull request #1042 from Subv/racesbunnei
Fixed a bunch of race conditions when running in multicore mode.
2018-08-12Merge pull request #1041 from Subv/duplicated_mutexbunnei
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
2018-08-12CPU/Timing: Use an approximated amortized amount of ticks when advancing timing.Subv
We divide the number of ticks to add by the number of cores (4) to obtain a more or less rough estimate of the actual number of ticks added. This assumes that all 4 cores are doing similar work. Previously we were adding ~4 times the number of ticks, thus making the games think that time was going way too fast. This lets us bypass certain hangs in some games like Breath of the Wild. We should modify our CoreTiming to support multiple cores (both running in a single thread, and in multiple host threads).
2018-08-12Kernel/SVC: Don't reschedule the current core when creating a new thread.Subv
The current core may have nothing to do with the core where the new thread was scheduled to run. In case it's the same core, then the following PrepareReshedule call will take care of that.
2018-08-12Core/HLE: Make the 'reschedule_pending' flag atomic.Subv
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
2018-08-12CPU/HLE: Lock the HLE mutex before performing a reschedule.Subv
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
2018-08-12Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.Subv
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
2018-08-12Kernel/Thread: Always use the threadsafe option when scheduling wakeups.Subv
WakeAfterDelay might be called from any host thread, so err on the side of caution and use the thread-safe CoreTiming::ScheduleEventThreadsafe. Note that CoreTiming is still far from thread-safe, there may be more things we have to work on for it to be up to par with what we want.
2018-08-12Kernel/Mutex: Don't duplicate threads in the mutex waiter list.Subv
Exit from AddMutexWaiter early if the thread is already waiting for a mutex owned by the owner thread. This accounts for the possibility of a thread that is waiting on a condition variable being awakened twice in a row. Also added more validation asserts. This should fix one of the random crashes in Breath Of The Wild.
2018-08-12vfs: Make VfsFilesystem constructor explicitLioncash
Makes it consistent with the other VFS interfaces and prevents implicit construction.
2018-08-12vfs: Make type hierarchy objects classes instead of structsLioncash
struct should be used when the data type is very simple or otherwise has no invariants associated with it. Given these are used to form a hierarchy, class should be used instead.
2018-08-12Merge pull request #1025 from ogniK5377/bad-castbunnei
Fixed invalid cast in loader
2018-08-12registration: Various style and documentation improvementsZach Hilman
Fix logic in RealVfsFilesystem Create methods Remove magic numbers Fix regex errors
2018-08-12Merge pull request #1035 from ogniK5377/audio-dev-revision-infobunnei
GetAudioDeviceServiceWithRevisionInfo (Used by Bloodstained: Curse of the Moon)
2018-08-12Merge pull request #1028 from ogniK5377/aoabunnei
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
2018-08-12scheduler: Make HaveReadyThreads() a const member functionLioncash
This function doesn't modify instance state, so the const qualifier can be added to it.
2018-08-12GetAudioDeviceServiceWithRevisionInfoDavid Marcec
As we're not handling any anything about the revision data for GetAudioDeviceServiceWithRevisionInfo, it's currently marked as stubbed. However for games this shouldn't affect the result. Proper revision info would be more for homebrew.
2018-08-12hid: disable clang-format around tablesLioncash
Prevents clang-format from butchering them.
2018-08-12hid: Stub DisconnectNpad()Lioncash
This is required by ARMS.
2018-08-12vfs: Use sanitized paths within MoveFile() and MoveDirectory()Lioncash
Previously these were being unused (or partially unused). While we're at it, use better naming to make it visibly obvious which variant of the path is being used.
2018-08-12card_image: Use type aliases to shorten definitionsLioncash
We have the aliases, so we may as well use 'em.
2018-08-12card_image: Simplify return statement of GetSubdirectories()Lioncash
We don't need to write out the construction long-form, we can just let the language itself work it out off the return type.
2018-08-12Pushed the requested sample rate instead of our fixed sample rateDavid Marcec
2018-08-12made ResultStatus a u16David Marcec