James Rowe
e159c550d8
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
bunnei
55d7d4afa4
Merge pull request #579 from SciresM/master
...
svc: Fully implement svcSignalToAddress and svcWaitForAddress
2018-06-22 12:08:39 -04:00
mailwl
29f156eb60
IPC: skip empty buffer write
...
prevent yuzu crash, if games, like Axiom Verge, trying to read 0 bytes from file
2018-06-22 11:28:10 +03:00
Michael Scire
a3509a9e74
Kernel/Arbiters: Fix casts, cleanup comments/magic numbers
2018-06-22 00:47:59 -06:00
Michael Scire
28fe461cd3
Add additional missing format.
2018-06-21 21:09:51 -06:00
Michael Scire
96617f16ed
Run clang-format on PR.
2018-06-21 21:05:34 -06:00
Michael Scire
9d83964c1b
Kernel/Arbiters: HLE is atomic, adjust code to reflect that.
2018-06-21 20:25:57 -06:00
Michael Scire
2a0ea82fec
Kernel/Arbiters: Initialize arb_wait_address in thread struct.
2018-06-21 05:13:06 -06:00
Michael Scire
3aa03cca5a
Kernel/Arbiters: Clear WaitAddress in SignalToAddress
2018-06-21 04:20:39 -06:00
Michael Scire
d12af72c8f
Kernel/Arbiters: Mostly implement SignalToAddress
2018-06-21 04:10:11 -06:00
Michael Scire
3119b64d86
Kernel/Arbiters: Implement WaitForAddress
2018-06-21 01:40:29 -06:00
Michael Scire
6e9b11ffa0
Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.
2018-06-21 00:49:43 -06:00
Subv
cb4ff57322
Build: Fixed some MSVC warnings in various parts of the code.
2018-06-20 11:39:10 -05:00
bunnei
149fef99a0
Merge pull request #572 from Armada651/user-except-stub
...
svc: Add a stub for UserExceptionContextAddr.
2018-06-18 11:37:13 -04:00
Jules Blok
5614c1329e
svc: Add a stub for UserExceptionContextAddr.
2018-06-18 09:29:11 +02:00
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.
2018-06-02 14:06:35 -05:00
Subv
2a690458b5
Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed.
2018-05-30 21:36:29 -05:00
Subv
40c82fc9c5
Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.
...
Also added some proper error handling.
2018-05-30 21:36:29 -05:00
Subv
bcae826522
Kernel/Thread: Corrected a typo in an assert about the processor id.
2018-05-30 11:32:46 -05:00
greggameplayer
4201782cea
Add & correct miscellaneous things ( #470 )
...
* add some InfoType
* correct OpenApplicationProxy cmd number
* add IDisplayController functions
* fix clang-format
* add more system languages
2018-05-25 22:31:54 -04:00
bunnei
11597c4ab2
Merge pull request #454 from Subv/signal_processwide
...
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey
2018-05-23 10:28:23 -04:00
bunnei
613a6d661e
Merge pull request #457 from Subv/mutex_waiters
...
Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
2018-05-20 23:44:44 -04:00
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.
2018-05-20 14:41:58 -05:00
Subv
e3e8902d40
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.
2018-05-19 16:58:30 -05:00
Subv
8ce8160ce3
Kernel/Threads: Reschedule the proper core when operating on that core's threads.
2018-05-19 16:57:44 -05:00
Subv
8935ca8e11
SVC: Removed unused WaitSynchronization1 function
2018-05-19 16:56:33 -05:00
David Marcec
75bd5bf8be
Added RequestWithContext & ControlWithContext
2018-05-17 14:03:52 -07:00
bunnei
ce7d89cb0e
thread: Rename mask to affinity_masks.
2018-05-10 19:34:53 -04:00
bunnei
d96be9b56b
thread: Support core change on ResumeFromWait and improve ChangeCore.
2018-05-10 19:34:53 -04:00
bunnei
eabfdfe4ec
scheduler: Protect scheduling functions with a global mutex.
2018-05-10 19:34:52 -04:00
bunnei
82bb8701ea
thread: Initialize ideal_core and mask members.
2018-05-10 19:34:52 -04:00
bunnei
5a5850af69
threading: Reschedule only on cores that are necessary.
2018-05-10 19:34:52 -04:00
bunnei
9e559ceb09
svc: Implement GetThreadCoreMask and SetThreadCoreMask.
2018-05-10 19:34:51 -04:00
bunnei
922b5c326e
thread: Implement ChangeCore function.
2018-05-10 19:34:50 -04:00
bunnei
7b6dd22605
svc: SignalProcessWideKey should apply to all cores.
2018-05-10 19:34:49 -04:00
bunnei
6c4f161ba2
svc: Implement GetCurrentProcessorNumber.
2018-05-10 19:34:49 -04:00
bunnei
44c565aeca
core: Implement multicore support.
2018-05-10 19:34:46 -04:00
bunnei
618cce3172
Merge pull request #431 from lioncash/fmt
...
general: Make formatting of logged hex values more straightforward
2018-05-02 15:24:41 -04:00
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).
2018-05-02 09:49:36 -04:00
bunnei
5e4d01f80c
ipc: Add support for PopIpcInterface() method.
...
- This can be used for domain objects as inputs to service functions.
2018-05-01 21:57:44 -04:00
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
2018-05-01 16:28:36 -04:00
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.
2018-04-30 03:32:59 -04:00
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
2018-04-29 18:52:33 -04:00
Lioncash
44d2f427d4
core: Replace usages of LOG_GENERIC with new fmt-capable equivalents
2018-04-27 11:57:52 -04:00
Lioncash
324ee31fc3
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
Lioncash
871e6c0041
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
...
Functions don't need to be terminated by semicolons.
2018-04-25 20:32:16 -04:00
Lioncash
bd9414dd31
kernel: Migrate logging macros to fmt-compatible ones
2018-04-25 20:32:09 -04:00
bunnei
5ff201a288
Merge pull request #370 from Subv/sync_primitives
...
Kernel: Reworked the new kernel synchronization primitives.
2018-04-23 16:33:00 -04:00
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.
2018-04-23 11:23:44 -05:00
Subv
4be07d1090
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
2018-04-20 21:04:35 -05:00