Subv
1784ec58e9
Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
...
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
2018-04-20 21:04:27 -05:00
Subv
55a515d119
Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
...
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case.
Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock.
TODO:
* Fix svcWaitProcessWideKey
* Fix svcSignalProcessWideKey
* Remove the Mutex class.
2018-04-20 21:04:25 -05:00
Lioncash
7465782e53
common_funcs: Remove ARRAY_SIZE macro
...
C++17 has non-member size() which we can just call where necessary.
2018-04-19 22:36:52 -04:00
Hexagon12
f852009f16
Various service name fixes - part 2 (rebased) ( #322 )
...
* Updated ACC with more service names
* Updated SVC with more service names
* Updated set with more service names
* Updated sockets with more service names
* Updated SPL with more service names
* Updated time with more service names
* Updated vi with more service names
2018-04-17 11:37:43 -04:00
bunnei
9c4a7bf62b
svc: Stub out SetThreadActivity, GetThreadContext.
2018-04-02 23:51:01 -04:00
bunnei
a2d2d8a4a5
svc: Stub GetThreadCoreMask.
2018-03-29 21:23:15 -04:00
N00byKing
488a1500d6
More Warning cleanups
2018-03-19 17:27:04 +01:00
N00byKing
10448f9fb4
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
bunnei
f98e8604f6
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
2018-03-16 18:32:23 -04:00
bunnei
33130a6652
MemoryState: Add additional memory states and improve naming.
2018-03-16 18:32:21 -04:00
bunnei
b95c68cc67
core: Move process creation out of global state.
2018-03-14 18:42:19 -04:00
bunnei
2a42d92eaa
Merge pull request #215 from N00byKing/umapsharedmmry
...
UnmapSharedMemory
2018-02-25 21:04:24 -08:00
N00byKing
8c93e5e075
(Hopefully) Fix MinGW Build
2018-02-25 13:40:22 +01:00
N00byKing
d199e1167e
Add UnmapSharedMemory
...
C++11 requires spaces on the Identifier
Add inttypes include
clang
2018-02-25 11:38:06 +01:00
mailwl
421cbc7753
Stub more functions
2018-02-22 17:28:15 +03:00
bunnei
1f3b456e6c
kernel: Use Scheduler class for threading.
2018-02-18 15:17:16 -05:00
bunnei
37808729fc
GetInfo: Implement IsCurrentProcessBeingDebugged.
2018-02-04 12:34:45 -05:00
bunnei
08f68b7306
WaitProcessWideKeyAtomic: Handle case where condition variable was already created.
2018-02-04 12:30:51 -05:00
bunnei
8b217903ae
svc: SharedMemory size should be 64-bits and cleanup.
2018-02-03 13:36:54 -05:00
bunnei
a33c1f7915
ArbitrateLock: Assert that requesting_thread is current_thread.
2018-02-03 13:29:18 -05:00
bunnei
87f980d335
hle: Remove Domain and SyncObject kernel objects.
2018-01-24 22:18:54 -05:00
James Rowe
7d396de27a
Format: Run the new clang format on everything
2018-01-20 16:45:11 -07:00
David
ff9e364d86
Added CreateSharedMemory & UNIMPLEMENTED() for non existent services. ( #113 )
...
* Added svcCreateSharedMemory
* Services which are not implemented now throw UNIMPLEMENTED()
* clang-format
* changed perms to u32
* removed camelcase
2018-01-19 19:35:25 -05:00
bunnei
b9d37a2642
svc: Fix svcGetInfo MapRegionBaseAddr.
2018-01-18 23:44:15 -05:00
Lioncash
733e21ad09
svc: Rename some entries to match their analogue on SwitchBrew
...
Makes the codebase a little more consistent with regards to available documentation. Also amends the duplicate case where there was a similar entry at 0x72 named ConnectToPort.
2018-01-17 20:38:23 -05:00
Lioncash
26318fc889
svc: Add CreateJitMemory and MapJitMemory svc strings
...
Makes the table match SwitchBrew for these entries
2018-01-17 20:32:56 -05:00
bunnei
6b806c3759
svc: Clang-format fix.
2018-01-17 12:19:17 -05:00
Subv
20affb0fcf
SVC: Correct some return values in svcGetInfo and added TitleId and PrivilegedProcessId stubs.
...
# Conflicts:
# src/core/hle/kernel/svc.cpp
2018-01-16 18:50:23 -05:00
bunnei
2942e05c4a
Merge pull request #52 from ogniK5377/fsp
...
added more svcGetInfo pairs for 3.0.0+ support, Changed HEAP_SIZE and TLS_AREA_VADDR. changed mem usage & heap usage stub added, ISelfController, IApplication function stubs. Added SetThreadCoreMask
2018-01-16 18:27:48 -05:00
David Marcec
a3b6a14500
SetThreadCoreMask stub, time to implement fsp
2018-01-16 14:23:53 -08:00
David Marcec
e9101d4a69
Added more svcGetInfo pairs
2018-01-16 14:06:45 -08:00
MerryMage
04e933748c
clang-format
2018-01-16 18:05:21 +00:00
bunnei
11592f2def
svc: Implement svcMapSharedMemory.
2018-01-14 17:20:55 -05:00
bunnei
17cc648277
yuzu: Update license text to be consistent across project.
2018-01-13 16:22:39 -05:00
bunnei
5c9e5b7bf5
core: Include <algorithm> where used.
2018-01-11 22:36:56 -05:00
bunnei
8fe0b7211f
svc: Implement GetSystemTick.
2018-01-11 21:59:31 -05:00
Subv
1e358b5bce
svc: Stub ResetSignal and CreateTransferMemory
2018-01-10 23:27:59 -05:00
Subv
1574fb6dc7
svc: Stub SetMemoryAttribute
2018-01-10 23:27:56 -05:00
Subv
8dee2cc16e
Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)
2018-01-10 01:01:55 -05:00
Subv
13240bfcd4
SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.
2018-01-09 15:02:43 -05:00
Subv
3f8fc78075
SVC: Implemented CancelSynchronization.
2018-01-09 15:02:04 -05:00
Subv
b078e5996d
SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.
2018-01-09 11:53:50 -05:00
bunnei
3874af4b6e
kernel: Rename Semaphore to ConditionVariable.
2018-01-08 21:41:37 -05:00
Subv
6d71843672
Kernel: Actually wake up the requested number of threads in Semaphore::Release.
...
Also properly keep track of data in guest memory, this fixes managing the semaphore from userland.
It was found that Semaphores are actually Condition Variables, with Release(1) and Release(-1) being equivalent to notify_one and notify_all. We should change the name of the class to reflect this.
2018-01-08 21:12:54 -05:00
Subv
886a49cda8
Kernel: Properly keep track of mutex lock data in the guest memory. This fixes userland locking/unlocking.
2018-01-08 21:12:51 -05:00
Subv
a0e267af83
Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.
2018-01-08 21:12:49 -05:00
bunnei
b4258e2cf5
svc: Implement svcSignalProcessWideKey.
2018-01-07 16:55:17 -05:00
bunnei
aa3f7a1399
svc: Implement svcWaitProcessWideKeyAtomic.
2018-01-06 16:14:12 -05:00
bunnei
e8320762de
svc: Implement WaitSynchronization for a single handle.
2018-01-06 14:34:32 -05:00
bunnei
a9ebcecc40
svc: Refactor LockMutex code to use WaitSynchronization1.
2018-01-06 14:19:28 -05:00