Michael Scire
045893374f
Kernel/Arbiter: Fix bug in WaitIfLessThan
8 years ago
MerryMage
bd97579188
scheduler: Clear exclusive state when switching contexts
8 years ago
David Marcec
66bd4de380
No need to use ASSERT_MSG with an empty message
8 years ago
James Rowe
d74d2a77cb
Update clang format
8 years ago
James Rowe
e159c550d8
Rename logging macro back to LOG_*
8 years ago
mailwl
29f156eb60
IPC: skip empty buffer write
prevent yuzu crash, if games, like Axiom Verge, trying to read 0 bytes from file
8 years ago
Michael Scire
a3509a9e74
Kernel/Arbiters: Fix casts, cleanup comments/magic numbers
8 years ago
Michael Scire
28fe461cd3
Add additional missing format.
8 years ago
Michael Scire
96617f16ed
Run clang-format on PR.
8 years ago
Michael Scire
9d83964c1b
Kernel/Arbiters: HLE is atomic, adjust code to reflect that.
8 years ago
Michael Scire
2a0ea82fec
Kernel/Arbiters: Initialize arb_wait_address in thread struct.
8 years ago
Michael Scire
3aa03cca5a
Kernel/Arbiters: Clear WaitAddress in SignalToAddress
8 years ago
Michael Scire
d12af72c8f
Kernel/Arbiters: Mostly implement SignalToAddress
8 years ago
Michael Scire
3119b64d86
Kernel/Arbiters: Implement WaitForAddress
8 years ago
Michael Scire
6e9b11ffa0
Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.
8 years ago
Subv
cb4ff57322
Build: Fixed some MSVC warnings in various parts of the code.
8 years ago
Jules Blok
5614c1329e
svc: Add a stub for UserExceptionContextAddr.
8 years ago
Subv
dd9a1fd943
Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.
This situation may happen like so:
Thread 1 with low priority calls WaitProcessWideKey with timeout.
Thread 2 with high priority calls WaitProcessWideKey without timeout.
Thread 3 calls SignalProcessWideKey
- Thread 2 acquires the lock and awakens.
- Thread 1 can't acquire the lock and is put to sleep with the lock owner being Thread 2.
Thread 1's timeout expires, with the lock owner still being set to Thread 2.
8 years ago
Subv
2a690458b5
Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed.
8 years ago
Subv
40c82fc9c5
Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.
Also added some proper error handling.
8 years ago
Subv
bcae826522
Kernel/Thread: Corrected a typo in an assert about the processor id.
8 years ago
greggameplayer
4201782cea
Add & correct miscellaneous things ( #470 )
* add some InfoType
* correct OpenApplicationProxy cmd number
* add IDisplayController functions
* fix clang-format
* add more system languages
8 years ago
Subv
fe463e2a1c
Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
A thread may own multiple mutexes at the same time, and only release one of them while other threads are waiting for the other mutexes.
8 years ago
Subv
e3e8902d40
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.
8 years ago
Subv
8ce8160ce3
Kernel/Threads: Reschedule the proper core when operating on that core's threads.
8 years ago
Subv
8935ca8e11
SVC: Removed unused WaitSynchronization1 function
8 years ago
David Marcec
75bd5bf8be
Added RequestWithContext & ControlWithContext
8 years ago
bunnei
ce7d89cb0e
thread: Rename mask to affinity_masks.
8 years ago
bunnei
d96be9b56b
thread: Support core change on ResumeFromWait and improve ChangeCore.
8 years ago
bunnei
eabfdfe4ec
scheduler: Protect scheduling functions with a global mutex.
8 years ago
bunnei
82bb8701ea
thread: Initialize ideal_core and mask members.
8 years ago
bunnei
5a5850af69
threading: Reschedule only on cores that are necessary.
8 years ago
bunnei
9e559ceb09
svc: Implement GetThreadCoreMask and SetThreadCoreMask.
8 years ago
bunnei
922b5c326e
thread: Implement ChangeCore function.
8 years ago
bunnei
7b6dd22605
svc: SignalProcessWideKey should apply to all cores.
8 years ago
bunnei
6c4f161ba2
svc: Implement GetCurrentProcessorNumber.
8 years ago
bunnei
44c565aeca
core: Implement multicore support.
8 years ago
Lioncash
1b310cbb3a
general: Make formatting of logged hex values more straightforward
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
8 years ago
bunnei
5e4d01f80c
ipc: Add support for PopIpcInterface() method.
- This can be used for domain objects as inputs to service functions.
8 years ago
David
3a3b58df8b
GetSharedFontInOrderOfPriority ( #381 )
* GetSharedFontInOrderOfPriority
* Update pl_u.cpp
* Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority
* switched to NGLOG
* Update pl_u.cpp
* Update pl_u.cpp
* language_code is actually language code and not index
* u32->u64
* final cleanups
8 years ago
Lioncash
3873211738
core_timing: Namespace all functions and constants in core_timing's header
All of these variables and functions are related to timings and should be within the namespace.
8 years ago
Lioncash
d1e3e0eb42
string_util: Remove StringFromFormat() and related functions
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
8 years ago
Lioncash
44d2f427d4
core: Replace usages of LOG_GENERIC with new fmt-capable equivalents
8 years ago
Lioncash
324ee31fc3
general: Convert assertion macros over to be fmt-compatible
8 years ago
Lioncash
871e6c0041
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
Functions don't need to be terminated by semicolons.
8 years ago
Lioncash
bd9414dd31
kernel: Migrate logging macros to fmt-compatible ones
8 years ago
Subv
329bec6dbd
Kernel: Implemented mutex priority inheritance.
Verified with a hwtest and implemented based on reverse engineering.
Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
8 years ago
Subv
4be07d1090
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
8 years ago
Subv
106d31e8c3
Qt: Update the WaitTree widget to show info about the current mutex of each thread.
8 years ago
Subv
f5a2b1920b
Kernel: Remove unused ConditionVariable class.
8 years ago