aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2015-01-30Kernel: Mark all appropriate kernel objects as "final"Yuri Kunde Schlesner
2015-01-30Remove result.h InvalidHandleYuri Kunde Schlesner
It was only being used in two places, where it was replaced by a local constant.
2015-01-30Kernel: Convert Event to not use HandlesYuri Kunde Schlesner
2015-01-30Kernel: Convert Timer to (mostly) not use HandlesYuri Kunde Schlesner
2015-01-30Kernel: Convert Mutex to not use HandlesYuri Kunde Schlesner
2015-01-30Kernel: Convert AddressArbiter to not use HandlesYuri Kunde Schlesner
2015-01-30Kernel: Convert Semaphore to not use HandlesYuri Kunde Schlesner
2015-01-30Kernel: Convert SharedMemory to not use HandlesYuri Kunde Schlesner
2015-01-30Move VAddr/PAddr typedefs to kernel.hYuri Kunde Schlesner
2015-01-30Kernel: Remove useless/duplicated comments; mark functions staticYuri Kunde Schlesner
2015-01-21Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.bunnei
2015-01-21Thread: Use std::find in CheckWait_WaitObject.bunnei
2015-01-21Mutex: Cleanup and remove redundant code.bunnei
2015-01-21Kernel: Renamed some functions for clarity.bunnei
- ReleaseNextThread->WakeupNextThread - ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
2015-01-21Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei
2015-01-21WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" ↵bunnei
pure virtual.
2015-01-21Event: Fix implementation of "non-sticky" events.bunnei
2015-01-21Session: Change to a WaitObject.bunnei
2015-01-21Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.bunnei
2015-01-21Mutex: Fix a bug where the thread should not wait if it already has the mutex.bunnei
2015-01-21Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a ↵bunnei
WaitObject safely.
2015-01-21AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that ↵bunnei
made no sense.
2015-01-21Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei
2015-01-21WaitSynchronizationN: Refactor to fix several bugsbunnei
- Separate wait checking from waiting the current thread - Resume thread when wait_all=true only if all objects are available at once - Set output to correct wait object index when there are duplicate handles
2015-01-21Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei
2015-01-21WaitSynchronizationN: Implement return valuesbunnei
2015-01-21Event: Fixed some bugs and cleanup (Subv)bunnei
2015-01-21Thread: Keep track of multiple wait objects.bunnei
2015-01-21Event: Get rid of permanent_lock hack.bunnei
2015-01-21WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.bunnei
2015-01-21Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei
2015-01-20core: Fix a few docstringsLioncash
2015-01-13AddrArbiter: Implement arbitration types 3 and 4.Subv
2015-01-11Merge pull request #466 from Subv/wakebunnei
Thread: Prevent waking a thread multiple times.
2015-01-11Thread: Prevent waking a thread multiple times.Subv
If a thread was woken up by something, cancel the wakeup timeout.
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner
2015-01-09Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner
2015-01-09Thread: Fix nullptr access in a logging functionYuri Kunde Schlesner
2015-01-09Thread: Rename thread_queue => thread_listYuri Kunde Schlesner
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner
2015-01-09Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner
2015-01-08Merge pull request #255 from Subv/cbranch_3bunnei
Implemented timers
2015-01-08SVC: Implemented the Timer service calls.Subv
2015-01-08SVC: Fixed SleepThread.Subv
It will now properly wait the specified number of nanoseconds and then wake up the thread.
2015-01-07Threads: Use a dummy idle thread when no other are ready.Subv
This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
2015-01-07Common: Clean up ThreadQueueListYuri Kunde Schlesner
Replace all the C-style complicated buffer management with a std::deque. In addition to making the code easier to understand it also adds support for non-POD IdTypes. Also clean the rest of the code to follow our code style.
2015-01-05Merge pull request #407 from Subv/arbiterbunnei
AddressArbiter: Ported arbitration type 2 from 3dmoo.
2015-01-04Mutex: Add the calling thread to the waiting list when neededSubv
This will happen when the mutex is already owned by another thread. Should fix some issues with games being stuck due to waiting threads not being awoken.
2015-01-03AddressArbiter: Ported arbitration type 2 from 3dmoo.Subv
(Thanks 3dmoo!)