Subv
b18ccf9399
Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
8 years ago
Subv
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.
8 years ago
Lioncash
bec05db746
resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
8 years ago
Lioncash
d9e316e353
common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
8 years ago
Hexagon12
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
8 years ago
bunnei
43f0f163e1
vm_manager: Increase GetTotalMemoryUsage value.
- Gets Binding of Isaac running.
8 years ago
bunnei
40bccd74d3
svc: Stub out SetThreadActivity, GetThreadContext.
8 years ago
bunnei
99ae9dbf49
shared_memory: Remove incorrect 3ds-specific check.
8 years ago
bunnei
f4ba523992
hle_ipc, fsp_srv: Cleanup logging.
8 years ago
bunnei
eef097bdc7
hle_ipc: Do not ensure write buffer size.
8 years ago
bunnei
b27ab46bde
memory: Fix stack region.
8 years ago
bunnei
f6893969b3
svc: Stub GetThreadCoreMask.
8 years ago
N00byKing
1d8b6ad13b
Clang Fixes
8 years ago
N00byKing
0e72d0d826
More Warning cleanups
8 years ago
N00byKing
ef875d6a35
Clean Warnings (?)
8 years ago
bunnei
c86af6939c
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
8 years ago
bunnei
2faa83ca13
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
8 years ago
bunnei
019f1a0cf0
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
8 years ago
bunnei
e353b9fb3d
thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.
8 years ago
bunnei
cc6f22e0e4
process: MirrorMemory should use MemoryState::Mapped.
8 years ago
bunnei
e9a857ce82
process: Unmap previously allocated heap.
8 years ago
bunnei
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
8 years ago
bunnei
34a29ad051
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
8 years ago
bunnei
8581404482
kernel: Move stack region outside of application heap.
8 years ago
bunnei
3923b0f589
process: Fix stack memory state.
8 years ago
bunnei
8be7131033
MemoryState: Add additional memory states and improve naming.
8 years ago
bunnei
7d6653268f
core: Move process creation out of global state.
8 years ago
Subv
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.
8 years ago
Jules Blok
c74af07c49
thread: Clear the process list on shutdown.
8 years ago
N00byKing
08c6ac02cf
(Hopefully) Fix MinGW Build
8 years ago
N00byKing
2b41c6e573
Add UnmapSharedMemory
C++11 requires spaces on the Identifier
Add inttypes include
clang
8 years ago
mailwl
e4f94ee30b
Stub more functions
8 years ago
mailwl
1289a3c3c1
Add warning if Domain request has no domain message header
8 years ago
mailwl
827152d1fd
Fix: change check for domain order and existance of domain message header
8 years ago
mailwl
1572c45aa0
IPC: add domain header to response if only it exists in request
8 years ago
bunnei
8db80d8389
scheduler: Cleanup based on PR feedback.
8 years ago
bunnei
ac81c02ed9
kernel: Use Scheduler class for threading.
8 years ago
bunnei
c78d495161
kernel: Add Scheduler, which encapsulates the scheduling loading from Thread module.
8 years ago
bunnei
cec0d4f191
kernel: Remove unused address_arbiter code.
8 years ago
Subv
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.
8 years ago
mailwl
6797d4a907
Service/hid: stub some functions
8 years ago
bunnei
df008a159b
shared_memory: Remove some checks.
8 years ago
bunnei
88bfec37ce
hle_ipc: Remove const from WriteBuffer size.
8 years ago
Lioncash
c1146d2a5f
thread: Silence formatting specifier warnings
8 years ago
Lioncash
1e33db8573
vm_manager: Silence formatting specifier warnings
8 years ago
bunnei
6fd19f05f1
hle_ipc: Add GetReadBufferSize and check write buffer size.
8 years ago
bunnei
fc1b425520
hle_ipc: Add helper functions for reading and writing buffers.
8 years ago
bunnei
1ce6fff064
hle_ipc: Add helper functions for reading and writing buffers.
8 years ago
bunnei
903beb43a8
mutex: Update hasWaiters on release.
8 years ago
bunnei
42fc437268
GetInfo: Implement IsCurrentProcessBeingDebugged.
8 years ago