summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel (unfollow)
Commit message (Expand)AuthorFilesLines
2015-02-02Mutex: Replace g_mutex_held_locks with a set inside ThreadYuri Kunde Schlesner3-23/+18
2015-02-02Kernel: Fix bug in HandleTable::CloseYuri Kunde Schlesner1-1/+1
2015-02-02Kernel: Remove Object::GetHandle (it's not used anymore :D)Yuri Kunde Schlesner2-9/+1
2015-02-02Kernel: Introduce unique Object ids for debuggingYuri Kunde Schlesner4-8/+16
2015-02-02Kernel: Use separate Handle tables for CoreTiming userdataYuri Kunde Schlesner4-18/+25
2015-02-02Kernel: Remove previous scheduled event when a Timer is re-SetYuri Kunde Schlesner1-0/+3
2015-02-02Thread: Modernize two functions that slipped through previous rebasesYuri Kunde Schlesner3-15/+13
2015-02-01arm: Clean up ARMul_StateLioncash1-1/+1
2015-01-30shared_memory: Fix assignments in SharedMemory::MapLioncash2-4/+4
2015-01-30Kernel: Mark all appropriate kernel objects as "final"Yuri Kunde Schlesner7-8/+7
2015-01-30Remove result.h InvalidHandleYuri Kunde Schlesner1-1/+2
2015-01-30Kernel: Convert Event to not use HandlesYuri Kunde Schlesner2-83/+51
2015-01-30Kernel: Convert Timer to (mostly) not use HandlesYuri Kunde Schlesner2-104/+72
2015-01-30Kernel: Convert Mutex to not use HandlesYuri Kunde Schlesner2-101/+82
2015-01-30Kernel: Convert AddressArbiter to not use HandlesYuri Kunde Schlesner2-32/+31
2015-01-30Kernel: Convert Semaphore to not use HandlesYuri Kunde Schlesner2-61/+61
2015-01-30Kernel: Convert SharedMemory to not use HandlesYuri Kunde Schlesner2-71/+54
2015-01-30Move VAddr/PAddr typedefs to kernel.hYuri Kunde Schlesner1-0/+5
2015-01-30Kernel: Remove useless/duplicated comments; mark functions staticYuri Kunde Schlesner6-32/+8
2015-01-22Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.bunnei2-22/+42
2015-01-22Thread: Use std::find in CheckWait_WaitObject.bunnei1-4/+5
2015-01-22Mutex: Cleanup and remove redundant code.bunnei3-47/+29
2015-01-22Kernel: Renamed some functions for clarity.bunnei7-10/+10
2015-01-22Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei8-64/+39
2015-01-22WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.bunnei8-21/+20
2015-01-22Event: Fix implementation of "non-sticky" events.bunnei1-0/+4
2015-01-22Session: Change to a WaitObject.bunnei3-2/+9
2015-01-22Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.bunnei1-1/+1
2015-01-22Mutex: Fix a bug where the thread should not wait if it already has the mutex.bunnei1-1/+4
2015-01-22Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.bunnei3-18/+57
2015-01-22AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.bunnei4-35/+42
2015-01-22Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei8-112/+43
2015-01-22WaitSynchronizationN: Refactor to fix several bugsbunnei7-54/+49
2015-01-22Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei7-14/+54
2015-01-22WaitSynchronizationN: Implement return valuesbunnei9-56/+139
2015-01-22Event: Fixed some bugs and cleanup (Subv)bunnei2-54/+13
2015-01-22Thread: Keep track of multiple wait objects.bunnei3-16/+30
2015-01-22Event: Get rid of permanent_lock hack.bunnei2-36/+8
2015-01-22WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.bunnei2-4/+17
2015-01-22Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei8-71/+73
2015-01-20core: Fix a few docstringsLioncash2-2/+2
2015-01-13AddrArbiter: Implement arbitration types 3 and 4.Subv2-3/+20
2015-01-11Thread: Prevent waking a thread multiple times.Subv1-0/+3
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner10-76/+75
2015-01-09Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner2-2/+3
2015-01-09Thread: Fix nullptr access in a logging functionYuri Kunde Schlesner1-1/+2
2015-01-09Thread: Rename thread_queue => thread_listYuri Kunde Schlesner1-6/+6
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner9-281/+190
2015-01-09Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner3-53/+67
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2-4/+6
2015-01-09SVC: Implemented the Timer service calls.Subv5-1/+194
2015-01-09SVC: Fixed SleepThread.Subv2-8/+39
2015-01-08Threads: Use a dummy idle thread when no other are ready.Subv3-1/+35
2015-01-07Common: Clean up ThreadQueueListYuri Kunde Schlesner1-1/+1
2015-01-04Mutex: Add the calling thread to the waiting list when neededSubv1-2/+2
2015-01-03AddressArbiter: Ported arbitration type 2 from 3dmoo.Subv1-0/+11
2014-12-28Kernel: New handle managerYuri Kunde Schlesner9-142/+189
2014-12-28Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner8-15/+15
2014-12-28Rename ObjectPool to HandleTableYuri Kunde Schlesner8-41/+41
2014-12-21License changepurpasmart9615-16/+16
2014-12-21Thread: Wait current thread on svc_SleepThreadbunnei2-21/+33
2014-12-20Clean up some warningsChin2-5/+5
2014-12-20Kernel: Implement support for current thread pseudo-handleYuri Kunde Schlesner3-2/+16
2014-12-18Filesystem/Archives: Implemented the SaveData archiveSubv2-0/+7
2014-12-16HLE: Rename namespaces to match move & fix initialization orderYuri Kunde Schlesner1-5/+0
2014-12-16HLE: Move kernel/archive.* to service/fs/Yuri Kunde Schlesner3-534/+1
2014-12-15Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner3-38/+75
2014-12-13Kernel/Semaphore: Small style changeSubv1-1/+1
2014-12-13Kernel/Semaphores: Invert the available count checking.Subv1-11/+9
2014-12-13Kernel/Semaphores: Addressed some issues.Subv2-32/+18
2014-12-13Semaphore: Removed an unneeded functionSubv1-5/+0
2014-12-13Semaphores: Addressed some style issuesSubv1-6/+5
2014-12-13Semaphore: Implemented the initial_count parameter.Subv2-5/+7
2014-12-13SVC: Implemented ReleaseSemaphore.Subv2-16/+64
2014-12-13SVC: Implemented svcCreateSemaphoreSubv2-0/+98
2014-12-13kernel: Remove unused log argumentsLioncash1-3/+3
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner6-72/+45
2014-12-09Thread: Fixed to wait on address when in arbitration.bunnei3-11/+31
2014-12-07Make OpenDirectory fail if the directory doesn't existarchshift1-0/+5
2014-12-07Mutex: Remove some forward declarationsSubv1-16/+15
2014-12-07Mutex: Release all held mutexes when a thread exits.Subv3-22/+56
2014-12-06Mutex: Properly lock the mutex when a thread enters itSubv1-12/+9
2014-12-04Threads: Remove a redundant function.Subv1-9/+1
2014-12-04Threads: Implemented a sequential thread idSubv2-4/+19
2014-12-04Updated archive.cpp functions for proper error handlingarchshift2-65/+36
2014-12-04SVC: Implemented GetThreadId.Subv2-0/+19
2014-12-04kernel: Shorten GetCountLioncash1-6/+3
2014-12-04kernel: Make some functions constLioncash2-4/+4
2014-11-26Thread: Check that thread is actually in "wait state" when verifying wait.bunnei1-1/+1
2014-11-26Mutex: Changed behavior to always release mutex for all threads.bunnei1-8/+7
2014-11-25Implemented RenameDirectory in FS:USERarchshift2-0/+35
2014-11-25Implemented RenameFile in FS:USERarchshift2-0/+35
2014-11-24Use pointers instead of passing handles around in some functions.Yuri Kunde Schlesner1-19/+15
2014-11-24Remove duplicated docs/update them for changed parameters.Yuri Kunde Schlesner9-78/+0
2014-11-24HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner13-201/+187
2014-11-23Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.archshift2-1/+47
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot12-42/+42
2014-11-19Add static to some variablesLioncash1-22/+22
2014-11-19Kernel:Add missing permissions in shared memory & svcpurpasmart961-5/+9
2014-11-18Remove extraneous semicolonsLioncash1-1/+1
2014-11-18Archive: Fixed to not destroy archive handle on close.bunnei1-3/+3
2014-11-18Archive: Fixed close archive before freeing.bunnei1-1/+1
2014-11-18FS_User: Support FileSye::Path in a more generic way.bunnei1-0/+11
2014-11-18FileSys: Updated backend code to use FileSys::Path instead of string for paths.bunnei2-10/+10
2014-11-14Fix two format strings.Lioncash1-1/+1
2014-11-02Added CreateDirectory function to service/fs.cpp, and in Archive.archshift2-2/+25
2014-10-30Fix some warningsSean1-3/+3
2014-10-26Add `override` keyword through the code.Yuri Kunde Schlesner6-35/+35
2014-10-06FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.Emmanuel Gil Peyrot1-0/+3
2014-10-06FileSys/Kernel: Implement SetSize service call for File objects.Emmanuel Gil Peyrot1-0/+8
2014-09-21Use the citra user path for the sdmc directoryarchshift1-2/+1
2014-09-17Kernel: Implement the Close command for Archive, File and Directory.Emmanuel Gil Peyrot2-0/+43
2014-09-17Kernel: Add a Directory object and a getter for it from an Archive object.Emmanuel Gil Peyrot3-0/+91
2014-09-17Kernel: Add a File object and a getter for it from an Archive object.Emmanuel Gil Peyrot2-0/+118
2014-09-15Core: Get rid of unnecessary switch statement in KernelLioncash1-41/+2
2014-09-09core: Prune redundant includesarchshift3-6/+0
2014-08-31Threading: Fix thread starting to execute first instruction correctly.bunnei1-0/+5
2014-08-28Threading: Fix thread starting to execute first instruction correctly.bunnei1-0/+5
2014-08-23Added FS functions to Archive and Archive_RomFSarchshift1-3/+31
2014-08-19Core: Use std::array for managing kernel object spaceLioncash2-5/+5
2014-08-18Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash8-25/+22
2014-08-07Thread: Added more descriptive comment to WaitCurrentThread.bunnei2-2/+10
2014-08-06AddressArbiter: Removed unnecessary HLE::Reschedule.bunnei1-1/+0
2014-08-06AddressArbiter: Fixed bug with break statements missing from case statements.bunnei1-0/+2
2014-08-06Kernel: Updated Event and Mutex to specify handle that they are blocking for.bunnei2-2/+2
2014-07-09Kernel: Added preliminary support for address arbiters.bunnei3-1/+124
2014-07-09Thread: Added functions to resume threads from address arbitration.bunnei2-0/+44
2014-07-05SharedMemory: Updated MapSharedMemory to use an enum for permissions.bunnei2-6/+27
2014-07-05Kernel: Added support for shared memory objects.bunnei2-0/+132
2014-07-05Archive: Added Init/Shutdown methods to reset kernel archive state.bunnei3-0/+19
2014-07-05FileSys: Added preliminary support for applications reading the RomFS archive.bunnei2-10/+105
2014-06-27Kernel: Added stubbed code to support creation of kernel Archive objects.bunnei3-0/+85
2014-06-13Kernel: Removed unnecessary "#pragma once".bunnei1-2/+0
2014-06-13Kernel: Added freeing of kernel objects on emulator shutdown.bunnei2-0/+10
2014-06-13Event: Updated several log messages to be assertions.bunnei1-16/+8
2014-06-13Thread: Renamed occurrences of "t" to "thread" to improve readability.bunnei1-48/+45
2014-06-13Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.bunnei1-9/+7
2014-06-13HLE: Removed usnused EatCycles function.bunnei1-9/+0
2014-06-13Thread: Moved position of * in arguments.bunnei1-2/+2
2014-06-13Thread: Updated VerifyWait to be more readable (but functionally the same).bunnei1-4/+3
2014-06-13HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei3-9/+9
2014-06-13Kernel: Updated various kernel function "name" arguments to be const references.bunnei4-6/+6
2014-06-13HLE: Updated various handle debug assertions to be more clear.bunnei2-3/+3
2014-06-13Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.bunnei1-2/+1
2014-06-13Kernel: Updated several member functions to be constbunnei4-11/+11
2014-06-13Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly setbunnei1-1/+1
2014-06-13Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)bunnei3-23/+4
2014-06-13Kernel: Added real support for thread and event blockingbunnei5-48/+165
2014-06-05kernel: changed current default thread priority back to 0x30 - I think this is more correctbunnei1-1/+1
2014-06-03svc: added optional name field to Event and Mutex (used for debugging)bunnei4-8/+21
2014-06-03kernel: moved position of * for GetTypeName and GetNamebunnei1-2/+2
2014-06-02svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle supportbunnei2-0/+51
2014-06-02kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei3-4/+6
2014-06-01thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for executionbunnei1-0/+18
2014-06-01event: added a hackish ability to set an event as "locked" to its current state, cleaned up some commentsbunnei2-4/+32
2014-05-30mutex: fixed typo in ReleaseMutexbunnei1-1/+3
2014-05-30event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some commentsbunnei2-9/+14
2014-05-28mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertionsbunnei1-0/+6
2014-05-28event: fixed typos and updated CMakeListsbunnei1-1/+1
2014-05-28event: added SetEventLocked method to change status an events lockbunnei2-0/+18
2014-05-28kernel: added event module to support creation of CTR "Event" objectsbunnei2-0/+119
2014-05-27mutex: removed docstring comment that is no longer relevantbunnei1-1/+0
2014-05-27mutex: added additional docstringsbunnei1-0/+2
2014-05-27kernel: added WaitSynchronization method to Kernel::Objectbunnei3-0/+29
2014-05-27kernel: updated SyncRequest to take boolean thread wait result as a parameterbunnei3-5/+20
2014-05-27kernel: added enum for known CurrentThread and CurrentProcess handlesbunnei1-0/+5
2014-05-27kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequestbunnei3-0/+11
2014-05-23thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argumentbunnei2-4/+4
2014-05-23thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThreadbunnei2-4/+4
2014-05-23kernel: refactored function naming to remove "__" prefixbunnei5-62/+72
2014-05-23thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR resetbunnei2-35/+40
2014-05-22thread: fixed bug where result of __NextThread was not being properly checked when NULLbunnei1-1/+1
2014-05-21mutex: refactored the interface to code to return a Mutex* handlebunnei2-3/+13
2014-05-21mutex: initial commit of HLE modulebunnei2-0/+148
2014-05-21kernel: fixed include, in general include "common.h" not "common_types.h"bunnei1-1/+1
2014-05-21thread: added correct lowest thread priority, added a thread priority check, and added some commentsbunnei2-6/+10
2014-05-21thread: exposed ResumeThreadFromWait function for use in other kernel modulesbunnei2-8/+11
2014-05-21thread: moved threading calls to the Kernel namespacebunnei3-101/+115
2014-05-21ARM_Interface: added SaveContext and LoadContext functions for HLE thread switchingbunnei1-36/+2
2014-05-21renamed "syscall" module to "svc" (more accurate naming)bunnei1-1/+1
2014-05-21thread: whitespace change - fixed * and & placementbunnei2-27/+27
2014-05-21- created a Kernel namespacebunnei4-67/+79
2014-05-20thread: added declaration for __KernelReschedule to be used by syscall modulebunnei1-0/+3
2014-05-19- updated service(s) to be KernelObject'sbunnei1-4/+5
2014-05-19- moved Handle/Result definitions to kernel.hbunnei2-3/+2
2014-05-17changed a commentbunnei2-2/+2
2014-05-17- added enum ThreadProcessorIdbunnei2-53/+107
2014-05-17- replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTHbunnei3-8/+12
2014-05-16completely gutted/refactored threading code to be simplerbunnei2-658/+230
2014-05-16changed "UID" to "Handle" to be a little more consistent with CTR namingbunnei2-18/+21
2014-05-15- added helper function for __KernelCreateThreadbunnei2-4/+76
2014-05-15changed primary thread priority to 0x30 - this is typical, not 0x31bunnei1-1/+2
2014-05-14fixed thread reset to not set stack addressbunnei1-1/+1
2014-05-14various cleanups / remove unused codebunnei2-65/+29
2014-05-14added a bunch of threading code, recycled from PPSSPP, with lots of hacks in for 3DS... doesn't really do much yet. Just a jumping off pointbunnei2-70/+543
2014-05-14- added __KernelLoadExec functionbunnei2-13/+35
2014-05-10added initial kernel/thread modulesbunnei4-0/+527