e81a2080eb
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
bec05db746
resource_limit: Make ResourceTypes an enum class
...
Prevents enum identifiers from leaking into the surrounding scope.
2018-04-20 19:41:45 -04:00
d9e316e353
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
e52a87b98a
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
43f0f163e1
vm_manager: Increase GetTotalMemoryUsage value.
...
- Gets Binding of Isaac running.
2018-04-14 22:04:10 -04:00
40bccd74d3
svc: Stub out SetThreadActivity, GetThreadContext.
2018-04-02 23:51:01 -04:00
99ae9dbf49
shared_memory: Remove incorrect 3ds-specific check.
2018-04-02 23:50:58 -04:00
f4ba523992
hle_ipc, fsp_srv: Cleanup logging.
2018-03-31 23:30:00 -04:00
eef097bdc7
hle_ipc: Do not ensure write buffer size.
2018-03-31 16:06:46 -04:00
b27ab46bde
memory: Fix stack region.
2018-03-31 16:06:45 -04:00
f6893969b3
svc: Stub GetThreadCoreMask.
2018-03-29 21:23:15 -04:00
1d8b6ad13b
Clang Fixes
2018-03-19 17:53:35 +01:00
0e72d0d826
More Warning cleanups
2018-03-19 17:27:04 +01:00
ef875d6a35
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
c86af6939c
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
2018-03-18 20:56:34 -04:00
2faa83ca13
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
2018-03-18 20:56:33 -04:00
019f1a0cf0
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
2018-03-18 20:56:33 -04:00
e353b9fb3d
thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.
2018-03-18 20:56:32 -04:00
cc6f22e0e4
process: MirrorMemory should use MemoryState::Mapped.
2018-03-16 19:24:54 -04:00
e9a857ce82
process: Unmap previously allocated heap.
2018-03-16 18:32:25 -04:00
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
2018-03-16 18:32:24 -04:00
34a29ad051
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
2018-03-16 18:32:23 -04:00
8581404482
kernel: Move stack region outside of application heap.
2018-03-16 18:32:23 -04:00
3923b0f589
process: Fix stack memory state.
2018-03-16 18:32:21 -04:00
8be7131033
MemoryState: Add additional memory states and improve naming.
2018-03-16 18:32:21 -04:00
7d6653268f
core: Move process creation out of global state.
2018-03-14 18:42:19 -04:00
46fc7d8502
Merge pull request #216 from Subv/savedata
...
Implemented the SaveData archive and MountSaveData.
2018-03-01 22:14:31 -05:00
827f8ca3c7
Kernel: Store the program id in the Process class instead of the CodeSet class.
...
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
2018-03-01 19:03:53 -05:00
c74af07c49
thread: Clear the process list on shutdown.
2018-02-27 17:13:39 +01:00
926604fc14
Merge pull request #207 from mailwl/duplicatesession
...
IPC: add domain header to response if only it exists in request
2018-02-26 20:52:56 -08:00
f1beb69899
Merge pull request #215 from N00byKing/umapsharedmmry
...
UnmapSharedMemory
2018-02-25 21:04:24 -08:00
08c6ac02cf
(Hopefully) Fix MinGW Build
2018-02-25 13:40:22 +01:00
2b41c6e573
Add UnmapSharedMemory
...
C++11 requires spaces on the Identifier
Add inttypes include
clang
2018-02-25 11:38:06 +01:00
e4f94ee30b
Stub more functions
2018-02-22 17:28:15 +03:00
1289a3c3c1
Add warning if Domain request has no domain message header
2018-02-20 22:51:54 +03:00
827152d1fd
Fix: change check for domain order and existance of domain message header
2018-02-20 21:59:58 +03:00
1572c45aa0
IPC: add domain header to response if only it exists in request
2018-02-20 19:27:49 +03:00
8db80d8389
scheduler: Cleanup based on PR feedback.
2018-02-19 16:46:42 -05:00
ac81c02ed9
kernel: Use Scheduler class for threading.
2018-02-18 15:17:16 -05:00
c78d495161
kernel: Add Scheduler, which encapsulates the scheduling loading from Thread module.
2018-02-18 14:58:40 -05:00
cec0d4f191
kernel: Remove unused address_arbiter code.
2018-02-18 14:46:11 -05:00
94ee8fc97b
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
...
Ported from citra PR #3091
The delay specified here is from a Nintendo 3DS, and should be measured in a Nintendo Switch.
This change is enough to prevent Puyo Puyo Tetris's main thread starvation.
2018-02-18 13:25:48 -05:00
6797d4a907
Service/hid: stub some functions
2018-02-16 06:15:05 +03:00
df008a159b
shared_memory: Remove some checks.
2018-02-14 22:24:06 -05:00
db873a232c
Merge pull request #188 from bunnei/refactor-buffer-descriptor
...
Refactor IPC buffer descriptor interface
2018-02-14 18:31:53 -05:00
88bfec37ce
hle_ipc: Remove const from WriteBuffer size.
2018-02-14 14:21:10 -05:00
c1146d2a5f
thread: Silence formatting specifier warnings
2018-02-14 01:50:14 -05:00
1e33db8573
vm_manager: Silence formatting specifier warnings
2018-02-14 01:50:14 -05:00
6fd19f05f1
hle_ipc: Add GetReadBufferSize and check write buffer size.
2018-02-14 00:14:17 -05:00
fc1b425520
hle_ipc: Add helper functions for reading and writing buffers.
2018-02-13 23:54:07 -05:00