93cba6f699
vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()
...
Without these, this would perform concatenation, which is definitely not
what we want here.
2018-07-18 19:37:19 -04:00
46458e7284
core/memory, core/hle/kernel: Use std::move where applicable
...
Avoids pointless copies
2018-07-18 19:34:31 -04:00
3a4841e403
core: Don't construct instance of Core::System, just to access its live instance
...
This would result in a lot of allocations and related object
construction, just to toss it all away immediately after the call.
These are definitely not intentional, and it was intended that all of
these should have been accessing the static function GetInstance()
through the name itself, not constructed instances.
2018-07-18 18:18:27 -04:00
88a3140c9b
Merge pull request #671 from MerryMage/clear-exclusive-state
...
scheduler: Clear exclusive state when switching contexts
2018-07-17 07:33:32 -07:00
519035db3d
Merge pull request #672 from SciresM/to_address_fix
...
svc:: Fix bug in svcWaitForAddress
2018-07-17 07:32:42 -07:00
170e19d4ea
nvflinger: Fix for BufferQueue event handling.
2018-07-17 00:26:23 -04:00
3b885691a1
Kernel/Arbiter: Fix bug in WaitIfLessThan
2018-07-16 20:55:53 -06:00
56cc1c11ec
scheduler: Clear exclusive state when switching contexts
2018-07-16 11:24:00 +01:00
a7d6c0d6ea
No need to use ASSERT_MSG with an empty message
2018-07-14 23:13:16 +10:00
0d46f0df12
Update clang format
2018-07-02 21:45:47 -04:00
638956aa81
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
6d7941042b
Merge pull request #579 from SciresM/master
...
svc: Fully implement svcSignalToAddress and svcWaitForAddress
2018-06-22 12:08:39 -04:00
a27befe456
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
067ac434ba
Kernel/Arbiters: Fix casts, cleanup comments/magic numbers
2018-06-22 00:47:59 -06:00
5f8aa02584
Add additional missing format.
2018-06-21 21:09:51 -06:00
08d454e30d
Run clang-format on PR.
2018-06-21 21:05:34 -06:00
dc70a87af1
Kernel/Arbiters: HLE is atomic, adjust code to reflect that.
2018-06-21 20:25:57 -06:00
8f8fe62a19
Kernel/Arbiters: Initialize arb_wait_address in thread struct.
2018-06-21 05:13:06 -06:00
62bd1299ea
Kernel/Arbiters: Clear WaitAddress in SignalToAddress
2018-06-21 04:20:39 -06:00
4f81bc4e1b
Kernel/Arbiters: Mostly implement SignalToAddress
2018-06-21 04:10:11 -06:00
9d71ce88ce
Kernel/Arbiters: Implement WaitForAddress
2018-06-21 01:40:29 -06:00
7e191dccc1
Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.
2018-06-21 00:49:43 -06:00
a3d82ef5d9
Build: Fixed some MSVC warnings in various parts of the code.
2018-06-20 11:39:10 -05:00
4ac4b308e4
Merge pull request #572 from Armada651/user-except-stub
...
svc: Add a stub for UserExceptionContextAddr.
2018-06-18 11:37:13 -04:00
bf4e2b2f0b
svc: Add a stub for UserExceptionContextAddr.
2018-06-18 09:29:11 +02:00
9cd87a6352
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
c02d7c8ce7
Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed.
2018-05-30 21:36:29 -05:00
3957b0c34e
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
d1f9c750a6
Kernel/Thread: Corrected a typo in an assert about the processor id.
2018-05-30 11:32:46 -05:00
b16e5c6a81
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
3825b703fa
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
693f78e6c2
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
fd500d3da6
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
2a35a36251
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.
2018-05-19 16:58:30 -05:00
c74f2555b6
Kernel/Threads: Reschedule the proper core when operating on that core's threads.
2018-05-19 16:57:44 -05:00
fab3dd98fe
SVC: Removed unused WaitSynchronization1 function
2018-05-19 16:56:33 -05:00
fd86cdb2e2
Added RequestWithContext & ControlWithContext
2018-05-17 14:03:52 -07:00
46ec9a9bc9
thread: Rename mask to affinity_masks.
2018-05-10 19:34:53 -04:00
fbd7afefaa
thread: Support core change on ResumeFromWait and improve ChangeCore.
2018-05-10 19:34:53 -04:00
91af2f94e8
scheduler: Protect scheduling functions with a global mutex.
2018-05-10 19:34:52 -04:00
4822765fef
thread: Initialize ideal_core and mask members.
2018-05-10 19:34:52 -04:00
8aa5d25f82
threading: Reschedule only on cores that are necessary.
2018-05-10 19:34:52 -04:00
d6e3cd9a17
svc: Implement GetThreadCoreMask and SetThreadCoreMask.
2018-05-10 19:34:51 -04:00
6ea8b3ef60
thread: Implement ChangeCore function.
2018-05-10 19:34:50 -04:00
1c36f2a798
svc: SignalProcessWideKey should apply to all cores.
2018-05-10 19:34:49 -04:00
6a890023e9
svc: Implement GetCurrentProcessorNumber.
2018-05-10 19:34:49 -04:00
a434fdcb10
core: Implement multicore support.
2018-05-10 19:34:46 -04:00
1147db9dd1
Merge pull request #431 from lioncash/fmt
...
general: Make formatting of logged hex values more straightforward
2018-05-02 15:24:41 -04:00
7c9644646f
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
fadab1d5f3
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