bunnei
bc8ef64804
svc: Implement svcSignalProcessWideKey.
8 years ago
bunnei
5017038ca7
svc: Implement svcWaitProcessWideKeyAtomic.
8 years ago
bunnei
0e978bdd50
svc: Implement WaitSynchronization for a single handle.
8 years ago
bunnei
57f42e5887
svc: Refactor LockMutex code to use WaitSynchronization1.
8 years ago
bunnei
0dbc8f3577
svc: Add missing string_util include.
8 years ago
bunnei
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
8 years ago
bunnei
81a8a57ce2
svc: Remove unnecessary "svc" prefix to naming scheme.
8 years ago
bunnei
480906fe1b
hle: Move SVC code to kernel namespace.
8 years ago
bunnei
72f671fd7a
svc: Improve svcGetInfo.
8 years ago
bunnei
dc4fe2fbd5
svc: Fix string formatting for CreateThread.
8 years ago
bunnei
9e8608e8b1
svc: Stub out svcWaitSynchronization.
- This does not matter until we implement other kernel objects, mutexes use svcLockMutex for waiting.
8 years ago
bunnei
aa7c824ea4
svc: Implement svcExitProcess.
8 years ago
bunnei
9b8afed5f7
svc: Implement svcUnlockMutex.
8 years ago
bunnei
b9950cd4b0
svc: Implement svcLockMutex.
8 years ago
bunnei
1cb978eb82
thread: Keep track of the initially created handle.
This is kinda crufty, but we need it for now to update guest state variables.
8 years ago
bunnei
45debfe4fd
svc: Implement svcExitThread.
8 years ago
bunnei
9d0c3bda7f
svc: Implement svcCreateThread.
8 years ago
bunnei
001091fa72
svc: Cleanup svcGetThreadPriority.
8 years ago
bunnei
283c63645d
svc: Stub out svcGetCurrentProcessorNumber.
8 years ago
bunnei
8a7f8f3e2c
svc: Implement svcSetThreadPriority.
8 years ago
bunnei
960e8dc5e5
svc: Change SignalProcessWideKey to a stub.
8 years ago
bunnei
3a91a62b8f
svc: Implement svcUnmapMemory.
8 years ago
bunnei
a3228d9b77
svc: Minor cleanups.
8 years ago
bunnei
8ab33616ac
svc: Implement svcStartThread.
8 years ago
bunnei
834fa5db65
kernel: Add SyncObject primitive, use it for ClientSession.
8 years ago
bunnei
6e021f22b8
svc: Implement MapMemory.
8 years ago
bunnei
7618b5237d
svc: Implement SetHeapSize.
8 years ago
bunnei
266c1c8020
svc: Implement GetThreadId and GetProcessId.
8 years ago
bunnei
dcd6bb82f7
hle: Fix QueryMemory response for MemoryInfo.
8 years ago
bunnei
960a1416de
hle: Initial implementation of NX service framework and IPC.
8 years ago
bunnei
78bc2b70bb
svc: Some logging cleanup.
8 years ago
bunnei
cb889f9220
svc: Initial nx impl. for QueryMemory, ConnectToPort, SendSyncRequest, etc.
8 years ago
Subv
97f262c1f5
SVC: Removed GetPointer usage in the GetResourceLimit functions.
8 years ago
Subv
46fc7595b4
SVC: Remove GetPointer usage in CreatePort.
8 years ago
Subv
7b09b30ef1
SVC: Replace GetPointer usage with ReadCString in ConnectToPort.
8 years ago
Subv
3c0113632d
SVC: Replace GetPointer usage with ReadBlock in OutputDebugString.
8 years ago
Subv
0cfb231e00
SVC: Replace GetPointer usage with Read32 in ReplyAndReceive.
8 years ago
Subv
b863d6c860
SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN.
8 years ago
Huw Pascoe
529f4a0131
Moved down_count to CoreTiming
8 years ago
Huw Pascoe
a13ab958cb
Fixed type conversion ambiguity
8 years ago
Subv
8432749db7
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.
This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads.
If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable.
8 years ago
Subv
3165466b66
Kernel/Thread: Allow specifying which process a thread belongs to when creating it.
Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
8 years ago
danzel
8266064796
Use recursive_mutex instead of mutex to fix #2902
8 years ago
Subv
bca8916cea
Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
This mutex is acquired in SVC::CallSVC, ie, as soon as the guest application enters the HLE kernel, and should be acquired by the aforementioned threads before modifying kernel structures.
9 years ago
Subv
b53fa9514f
Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest.
9 years ago
Subv
88c93a7436
Kernel/SVC: Partially implemented svcReplyAndReceive.
It behaves mostly as WaitSynchronizationN with wait_all = false, except for IPC buffer translation.
The target thread of an IPC response will now wake up when responding.
IPC buffer translation is currently not implemented.
Error passing back to svcSendSyncRequest is currently not implemented.
9 years ago
Yuri Kunde Schlesner
e192d417ec
Kernel: Implement AcceptSession SVC
9 years ago
Yuri Kunde Schlesner
aa0f3047d3
Kernel: Implement CreateSessionToPort SVC
9 years ago
Yuri Kunde Schlesner
f94093d0fd
Kernel: Implement CreateSession SVC
9 years ago
Yuri Kunde Schlesner
be031989ee
Kernel: Move HandleTable to a separate file
9 years ago