yuzu/src/core/hle/kernel
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.
2017-09-28 11:53:32 -05:00
..
address_arbiter.cpp Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
address_arbiter.h Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
client_port.cpp Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession 2017-06-06 02:56:32 -07:00
client_port.h Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
client_session.cpp Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest. 2017-06-29 12:30:34 -05:00
client_session.h Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest. 2017-06-29 12:30:34 -05:00
errors.h Kernel: Implement AcceptSession SVC 2017-06-23 11:26:37 -07:00
event.cpp Merge pull request #2397 from Subv/pulse 2017-01-10 10:45:00 -05:00
event.h Kernel: Move WaitObject to a separate file 2017-05-29 16:16:46 -07:00
handle_table.cpp Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
handle_table.h Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
hle_ipc.cpp Kernel/IPC: Support translation of null handles 2017-06-21 14:27:03 -07:00
hle_ipc.h Kernel/IPC: Make HLERequestContext usable from outside kernel 2017-06-18 16:05:12 -07:00
kernel.cpp Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
kernel.h Merge pull request #2839 from Subv/global_kernel_lock 2017-08-23 18:17:44 -06:00
memory.cpp Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer. 2017-09-15 14:26:13 -05:00
memory.h Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer. 2017-09-15 14:26:13 -05:00
mutex.cpp Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes 2017-01-04 15:58:48 -05:00
mutex.h Kernel: Move WaitObject to a separate file 2017-05-29 16:16:46 -07:00
process.cpp Kernel: Add comment about the extended linear heap area 2017-06-18 18:38:40 -07:00
process.h Kernel: Map special regions according to ExHeader 2017-05-09 21:44:00 -07:00
resource_limit.cpp Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
resource_limit.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
semaphore.cpp Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
semaphore.h Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
server_port.cpp Kernel: Implement AcceptSession SVC 2017-06-23 11:26:37 -07:00
server_port.h Kernel: Implement AcceptSession SVC 2017-06-23 11:26:37 -07:00
server_session.cpp Merge pull request #2793 from Subv/replyandreceive 2017-06-29 17:05:22 -05:00
server_session.h Kernel/ServerSession: Keep track of which threads have issued sync requests. 2017-06-25 14:47:25 -05:00
session.cpp Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
session.h Kernel: Use a Session object to keep track of the status of a Client/Server session pair. 2017-05-15 11:22:15 -05:00
shared_memory.cpp Memory: Make PhysicalToVirtualAddress return a boost::optional 2017-06-21 22:55:17 -07:00
shared_memory.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
thread.cpp Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken. 2017-09-28 11:53:32 -05:00
thread.h Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken. 2017-09-28 11:53:32 -05:00
timer.cpp ResultVal: Remove MoveFrom() 2017-06-18 19:03:15 -07:00
timer.h Kernel: Move WaitObject to a separate file 2017-05-29 16:16:46 -07:00
vm_manager.cpp Kernel/Memory: Give each Process its own page table. 2017-09-10 15:13:41 -05:00
vm_manager.h Kernel/Memory: Give each Process its own page table. 2017-09-10 15:13:41 -05:00
wait_object.cpp Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken. 2017-09-28 11:53:32 -05:00
wait_object.h Kernel: Move WaitObject to a separate file 2017-05-29 16:16:46 -07:00