aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
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!)
2014-12-28Kernel: New handle managerYuri Kunde Schlesner
This handle manager more closely mirrors the behaviour of the CTR-OS one. In addition object ref-counts and support for DuplicateHandle have been added. Note that support for DuplicateHandle is still experimental, since parts of the kernel still use Handles internally, which will likely cause troubles if two different handles to the same object are used to e.g. wait on a synchronization primitive.
2014-12-28Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner
2014-12-28Rename ObjectPool to HandleTableYuri Kunde Schlesner
2014-12-21Merge pull request #291 from purpasmart96/licensebunnei
License change
2014-12-20License changepurpasmart96
2014-12-20Thread: Wait current thread on svc_SleepThreadbunnei
- Removed unused VBLANK sleep mode - Added error log for bad context switch - Renamed VerifyWait to CheckWaitType to be more clear
2014-12-20Merge pull request #316 from yuriks/thread-handlebunnei
Kernel: Implement support for current thread pseudo-handle
2014-12-20Clean up some warningsChin