summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel (follow)
Commit message (Expand)AuthorAgeFilesLines
* Core/Memory: Add TLS support for creating up to 300 threadsSubv2015-05-123-7/+19
* Merge pull request #750 from Subv/process_svcYuri Kunde Schlesner2015-05-125-2/+15
|\
| * fixup!Subv2015-05-122-7/+3
| * Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadSubv2015-05-115-2/+19
* | Thread: Correctly set main thread initial stack positionYuri Kunde Schlesner2015-05-113-5/+4
|/
* Merge pull request #740 from yuriks/gsp-shmemarchshift2015-05-112-16/+37
|\
| * Kernel: Zero-fill shared memory blocks when mappingYuri Kunde Schlesner2015-05-111-0/+8
| * Kernel: Capture SharedMemory attributes at creation, not when mappingYuri Kunde Schlesner2015-05-112-16/+29
* | fixup! Set the TLS address in the schedulerSubv2015-05-112-2/+7
* | Core/Memory: Give every emulated thread it's own TLS area.Subv2015-05-113-4/+22
|/
* Common: Remove the BIT macroYuri Kunde Schlesner2015-05-091-2/+2
* Memory: Re-organize and rename memory area address constantsYuri Kunde Schlesner2015-05-092-3/+4
* Kernel: Remove unused g_main_thread variableYuri Kunde Schlesner2015-05-093-5/+1
* Process: Rename StaticAddressMapping => AddressMappingYuri Kunde Schlesner2015-05-092-5/+5
* Process: Add more documentation to the class membersYuri Kunde Schlesner2015-05-091-2/+16
* Process: Use BitField to store process flagsYuri Kunde Schlesner2015-05-092-16/+24
* Process: Support parsing of exheader kernel capsYuri Kunde Schlesner2015-05-092-4/+72
* Kernel: Remove g_program_idYuri Kunde Schlesner2015-05-092-8/+0
* Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner2015-05-094-19/+101
* Common: Remove common.hYuri Kunde Schlesner2015-05-079-8/+14
* Move typedefs from kernel.h to more appropriate placesYuri Kunde Schlesner2015-05-071-10/+1
* Kernel: Properly initialize and shutdown all modules.bunnei2015-05-024-9/+20
* Kernel: Use the correct format string for u64 hex.Emmanuel Gil Peyrot2015-04-141-1/+1
* SVC: Update various SVCs to cause a reschedule.bunnei2015-04-101-4/+0
* Kernel: Implemented priority inheritance for mutexes.bunnei2015-04-103-4/+22
* Thread: Implement priority boost for starved threads.bunnei2015-04-102-22/+51
* Kernel: Fixed default thread priority.bunnei2015-04-102-5/+4
* Initialize base address to 0x0Gareth Higgins2015-04-091-0/+1
* Misc cleanup of common and related functionsarchshift2015-02-201-2/+3
* Build: Fixed some warningsSubv2015-02-123-4/+4
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-117-15/+13
* Scheduler refactor Pt. 1Kevin Hartman2015-02-103-223/+258
* Mutex: Locks should be recursive.bunnei2015-02-102-16/+20
* core: Fix some warnings on OSXLioncash2015-02-031-1/+0
* Kernel: Stop creating useless Handles during object creationYuri Kunde Schlesner2015-02-0212-36/+17
* Kernel: Make WaitObjects share ownership of Threads waiting on themYuri Kunde Schlesner2015-02-026-12/+17
* Explicitly instantiate constructors/destructors for Kernel objectsYuri Kunde Schlesner2015-02-0216-8/+50
* Mutex: Replace g_mutex_held_locks with a set inside ThreadYuri Kunde Schlesner2015-02-023-23/+18
* Kernel: Fix bug in HandleTable::CloseYuri Kunde Schlesner2015-02-021-1/+1
* Kernel: Remove Object::GetHandle (it's not used anymore :D)Yuri Kunde Schlesner2015-02-022-9/+1
* Kernel: Introduce unique Object ids for debuggingYuri Kunde Schlesner2015-02-024-8/+16
* Kernel: Use separate Handle tables for CoreTiming userdataYuri Kunde Schlesner2015-02-024-18/+25
* Kernel: Remove previous scheduled event when a Timer is re-SetYuri Kunde Schlesner2015-02-021-0/+3
* Thread: Modernize two functions that slipped through previous rebasesYuri Kunde Schlesner2015-02-023-15/+13
* arm: Clean up ARMul_StateLioncash2015-02-011-1/+1
* shared_memory: Fix assignments in SharedMemory::MapLioncash2015-01-302-4/+4
* Kernel: Mark all appropriate kernel objects as "final"Yuri Kunde Schlesner2015-01-307-8/+7
* Remove result.h InvalidHandleYuri Kunde Schlesner2015-01-301-1/+2
* Kernel: Convert Event to not use HandlesYuri Kunde Schlesner2015-01-302-83/+51
* Kernel: Convert Timer to (mostly) not use HandlesYuri Kunde Schlesner2015-01-302-104/+72
* Kernel: Convert Mutex to not use HandlesYuri Kunde Schlesner2015-01-302-101/+82
* Kernel: Convert AddressArbiter to not use HandlesYuri Kunde Schlesner2015-01-302-32/+31
* Kernel: Convert Semaphore to not use HandlesYuri Kunde Schlesner2015-01-302-61/+61
* Kernel: Convert SharedMemory to not use HandlesYuri Kunde Schlesner2015-01-302-71/+54
* Move VAddr/PAddr typedefs to kernel.hYuri Kunde Schlesner2015-01-301-0/+5
* Kernel: Remove useless/duplicated comments; mark functions staticYuri Kunde Schlesner2015-01-306-32/+8
* Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.bunnei2015-01-222-22/+42
* Thread: Use std::find in CheckWait_WaitObject.bunnei2015-01-221-4/+5
* Mutex: Cleanup and remove redundant code.bunnei2015-01-223-47/+29
* Kernel: Renamed some functions for clarity.bunnei2015-01-227-10/+10
* Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei2015-01-228-64/+39
* WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.bunnei2015-01-228-21/+20
* Event: Fix implementation of "non-sticky" events.bunnei2015-01-221-0/+4
* Session: Change to a WaitObject.bunnei2015-01-223-2/+9
* Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.bunnei2015-01-221-1/+1
* Mutex: Fix a bug where the thread should not wait if it already has the mutex.bunnei2015-01-221-1/+4
* Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.bunnei2015-01-223-18/+57
* AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.bunnei2015-01-224-35/+42
* Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei2015-01-228-112/+43
* WaitSynchronizationN: Refactor to fix several bugsbunnei2015-01-227-54/+49
* Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei2015-01-227-14/+54
* WaitSynchronizationN: Implement return valuesbunnei2015-01-229-56/+139
* Event: Fixed some bugs and cleanup (Subv)bunnei2015-01-222-54/+13
* Thread: Keep track of multiple wait objects.bunnei2015-01-223-16/+30
* Event: Get rid of permanent_lock hack.bunnei2015-01-222-36/+8
* WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.bunnei2015-01-222-4/+17
* Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei2015-01-228-71/+73
* core: Fix a few docstringsLioncash2015-01-202-2/+2
* AddrArbiter: Implement arbitration types 3 and 4.Subv2015-01-132-3/+20
* Merge pull request #466 from Subv/wakebunnei2015-01-111-0/+3
|\
| * Thread: Prevent waking a thread multiple times.Subv2015-01-111-0/+3
* | Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner2015-01-0910-76/+75
* | Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner2015-01-092-2/+3
|/
* Thread: Fix nullptr access in a logging functionYuri Kunde Schlesner2015-01-091-1/+2
* Thread: Rename thread_queue => thread_listYuri Kunde Schlesner2015-01-091-6/+6
* Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner2015-01-099-281/+190
* Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner2015-01-093-53/+67
* Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2015-01-092-4/+6
* Merge pull request #255 from Subv/cbranch_3bunnei2015-01-095-1/+194
|\
| * SVC: Implemented the Timer service calls.Subv2015-01-095-1/+194
* | SVC: Fixed SleepThread.Subv2015-01-092-8/+39
* | Threads: Use a dummy idle thread when no other are ready.Subv2015-01-083-1/+35
* | Common: Clean up ThreadQueueListYuri Kunde Schlesner2015-01-071-1/+1
|/
* Merge pull request #407 from Subv/arbiterbunnei2015-01-051-0/+11
|\
| * AddressArbiter: Ported arbitration type 2 from 3dmoo.Subv2015-01-031-0/+11
* | Mutex: Add the calling thread to the waiting list when neededSubv2015-01-041-2/+2
|/
* Kernel: New handle managerYuri Kunde Schlesner2014-12-289-142/+189
* Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner2014-12-288-15/+15
* Rename ObjectPool to HandleTableYuri Kunde Schlesner2014-12-288-41/+41
* Merge pull request #291 from purpasmart96/licensebunnei2014-12-2115-16/+16
|\
| * License changepurpasmart962014-12-2115-16/+16
* | Thread: Wait current thread on svc_SleepThreadbunnei2014-12-212-21/+33
* | Merge pull request #316 from yuriks/thread-handlebunnei2014-12-203-2/+16
|\ \
| * | Kernel: Implement support for current thread pseudo-handleYuri Kunde Schlesner2014-12-203-2/+16
* | | Clean up some warningsChin2014-12-202-5/+5
| |/ |/|
* | Merge pull request #185 from purpasmart96/mem_permbunnei2014-12-181-5/+9
|\ \
| * | Kernel:Add missing permissions in shared memory & svcpurpasmart962014-11-191-5/+9
* | | Filesystem/Archives: Implemented the SaveData archiveSubv2014-12-182-0/+7
| |/ |/|
* | HLE: Rename namespaces to match move & fix initialization orderYuri Kunde Schlesner2014-12-161-5/+0
* | HLE: Move kernel/archive.* to service/fs/Yuri Kunde Schlesner2014-12-163-534/+1
* | Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner2014-12-153-38/+75
* | Kernel/Semaphore: Small style changeSubv2014-12-131-1/+1
* | Kernel/Semaphores: Invert the available count checking.Subv2014-12-131-11/+9
* | Kernel/Semaphores: Addressed some issues.Subv2014-12-132-32/+18
* | Semaphore: Removed an unneeded functionSubv2014-12-131-5/+0
* | Semaphores: Addressed some style issuesSubv2014-12-131-6/+5
* | Semaphore: Implemented the initial_count parameter.Subv2014-12-132-5/+7
* | SVC: Implemented ReleaseSemaphore.Subv2014-12-132-16/+64
* | SVC: Implemented svcCreateSemaphoreSubv2014-12-132-0/+98
* | kernel: Remove unused log argumentsLioncash2014-12-131-3/+3
* | Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-136-72/+45
* | Merge pull request #256 from Subv/mutexbunnei2014-12-113-37/+67
|\ \
| * | Mutex: Remove some forward declarationsSubv2014-12-071-16/+15
| * | Mutex: Release all held mutexes when a thread exits.Subv2014-12-073-22/+56
| * | Mutex: Properly lock the mutex when a thread enters itSubv2014-12-061-12/+9
* | | Thread: Fixed to wait on address when in arbitration.bunnei2014-12-093-11/+31
* | | Make OpenDirectory fail if the directory doesn't existarchshift2014-12-071-0/+5
|/ /
* | Merge pull request #250 from Subv/cbranch_2bunnei2014-12-052-0/+26
|\ \
| * | Threads: Remove a redundant function.Subv2014-12-041-9/+1
| * | Threads: Implemented a sequential thread idSubv2014-12-042-4/+19
| * | SVC: Implemented GetThreadId.Subv2014-12-042-0/+19
* | | Merge pull request #222 from archshift/renamexyzbunnei2014-12-052-33/+74
|\ \ \
| * | | Updated archive.cpp functions for proper error handlingarchshift2014-12-042-65/+36
| * | | Implemented RenameDirectory in FS:USERarchshift2014-11-252-0/+35
| * | | Implemented RenameFile in FS:USERarchshift2014-11-252-0/+35
* | | | kernel: Shorten GetCountLioncash2014-12-041-6/+3
* | | | kernel: Make some functions constLioncash2014-12-042-4/+4
| |/ / |/| |
* | | Merge pull request #225 from bunnei/fix-release-mutexbunnei2014-11-301-8/+7
|\ \ \
| * | | Mutex: Changed behavior to always release mutex for all threads.bunnei2014-11-261-8/+7
| |/ /
* / / Thread: Check that thread is actually in "wait state" when verifying wait.bunnei2014-11-261-1/+1
|/ /
* | Use pointers instead of passing handles around in some functions.Yuri Kunde Schlesner2014-11-241-19/+15
* | Remove duplicated docs/update them for changed parameters.Yuri Kunde Schlesner2014-11-249-78/+0
* | HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner2014-11-2413-201/+187
* | Merge pull request #191 from archshift/deletexyzbunnei2014-11-242-1/+47
|\ \
| * | Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.archshift2014-11-232-1/+47
* | | Merge pull request #211 from linkmauve/masterbunnei2014-11-1912-42/+42
|\ \ \
| * | | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-1912-42/+42
* | | | Merge pull request #208 from lioncash/staticsbunnei2014-11-191-22/+22
|\ \ \ \ | |/ / / |/| | |
| * | | Add static to some variablesLioncash2014-11-191-22/+22
| |/ /
* / / Remove extraneous semicolonsLioncash2014-11-181-1/+1
|/ /
* | Archive: Fixed to not destroy archive handle on close.bunnei2014-11-181-3/+3
* | Archive: Fixed close archive before freeing.bunnei2014-11-181-1/+1
* | FS_User: Support FileSye::Path in a more generic way.bunnei2014-11-181-0/+11
* | FileSys: Updated backend code to use FileSys::Path instead of string for paths.bunnei2014-11-182-10/+10
* | Fix two format strings.Lioncash2014-11-141-1/+1
|/
* Added CreateDirectory function to service/fs.cpp, and in Archive.archshift2014-11-022-2/+25
* Fix some warningsSean2014-10-301-3/+3
* Add `override` keyword through the code.Yuri Kunde Schlesner2014-10-266-35/+35
* FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.Emmanuel Gil Peyrot2014-10-061-0/+3
* FileSys/Kernel: Implement SetSize service call for File objects.Emmanuel Gil Peyrot2014-10-061-0/+8
* Use the citra user path for the sdmc directoryarchshift2014-09-211-2/+1
* Kernel: Implement the Close command for Archive, File and Directory.Emmanuel Gil Peyrot2014-09-172-0/+43
* Kernel: Add a Directory object and a getter for it from an Archive object.Emmanuel Gil Peyrot2014-09-173-0/+91
* Kernel: Add a File object and a getter for it from an Archive object.Emmanuel Gil Peyrot2014-09-172-0/+118
* Core: Get rid of unnecessary switch statement in KernelLioncash2014-09-151-41/+2
* core: Prune redundant includesarchshift2014-09-093-6/+0
* Threading: Fix thread starting to execute first instruction correctly.bunnei2014-08-281-0/+5
* Added FS functions to Archive and Archive_RomFSarchshift2014-08-231-3/+31
* Core: Use std::array for managing kernel object spaceLioncash2014-08-192-5/+5
* Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash2014-08-188-25/+22
* Thread: Added more descriptive comment to WaitCurrentThread.bunnei2014-08-072-2/+10
* AddressArbiter: Removed unnecessary HLE::Reschedule.bunnei2014-08-061-1/+0
* AddressArbiter: Fixed bug with break statements missing from case statements.bunnei2014-08-061-0/+2
* Kernel: Updated Event and Mutex to specify handle that they are blocking for.bunnei2014-08-062-2/+2
* Kernel: Added preliminary support for address arbiters.bunnei2014-07-093-1/+124
* Thread: Added functions to resume threads from address arbitration.bunnei2014-07-092-0/+44
* SharedMemory: Updated MapSharedMemory to use an enum for permissions.bunnei2014-07-052-6/+27
* Kernel: Added support for shared memory objects.bunnei2014-07-052-0/+132
* Archive: Added Init/Shutdown methods to reset kernel archive state.bunnei2014-07-053-0/+19
* FileSys: Added preliminary support for applications reading the RomFS archive.bunnei2014-07-052-10/+105
* Kernel: Added stubbed code to support creation of kernel Archive objects.bunnei2014-06-273-0/+85
* Kernel: Removed unnecessary "#pragma once".bunnei2014-06-131-2/+0
* Kernel: Added freeing of kernel objects on emulator shutdown.bunnei2014-06-132-0/+10
* Event: Updated several log messages to be assertions.bunnei2014-06-131-16/+8
* Thread: Renamed occurrences of "t" to "thread" to improve readability.bunnei2014-06-131-48/+45
* Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.bunnei2014-06-131-9/+7
* HLE: Removed usnused EatCycles function.bunnei2014-06-131-9/+0
* Thread: Moved position of * in arguments.bunnei2014-06-131-2/+2
* Thread: Updated VerifyWait to be more readable (but functionally the same).bunnei2014-06-131-4/+3
* HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei2014-06-133-9/+9
* Kernel: Updated various kernel function "name" arguments to be const references.bunnei2014-06-134-6/+6
* HLE: Updated various handle debug assertions to be more clear.bunnei2014-06-132-3/+3
* Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.bunnei2014-06-131-2/+1
* Kernel: Updated several member functions to be constbunnei2014-06-134-11/+11
* Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly setbunnei2014-06-131-1/+1
* Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)bunnei2014-06-133-23/+4
* Kernel: Added real support for thread and event blockingbunnei2014-06-135-48/+165
* kernel: changed current default thread priority back to 0x30 - I think this is more correctbunnei2014-06-051-1/+1
* svc: added optional name field to Event and Mutex (used for debugging)bunnei2014-06-034-8/+21
* kernel: moved position of * for GetTypeName and GetNamebunnei2014-06-031-2/+2
* svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle supportbunnei2014-06-022-0/+51
* kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei2014-06-023-4/+6
* thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for executionbunnei2014-06-011-0/+18
* event: added a hackish ability to set an event as "locked" to its current state, cleaned up some commentsbunnei2014-06-012-4/+32
* mutex: fixed typo in ReleaseMutexbunnei2014-05-301-1/+3
* event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some commentsbunnei2014-05-302-9/+14
* mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertionsbunnei2014-05-281-0/+6
* event: fixed typos and updated CMakeListsbunnei2014-05-281-1/+1
* event: added SetEventLocked method to change status an events lockbunnei2014-05-282-0/+18
* kernel: added event module to support creation of CTR "Event" objectsbunnei2014-05-282-0/+119
* mutex: removed docstring comment that is no longer relevantbunnei2014-05-271-1/+0
* mutex: added additional docstringsbunnei2014-05-271-0/+2
* kernel: added WaitSynchronization method to Kernel::Objectbunnei2014-05-273-0/+29
* kernel: updated SyncRequest to take boolean thread wait result as a parameterbunnei2014-05-273-5/+20
* kernel: added enum for known CurrentThread and CurrentProcess handlesbunnei2014-05-271-0/+5
* kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequestbunnei2014-05-273-0/+11
* thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argumentbunnei2014-05-232-4/+4
* thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThreadbunnei2014-05-232-4/+4
* kernel: refactored function naming to remove "__" prefixbunnei2014-05-235-62/+72
* thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR resetbunnei2014-05-232-35/+40
* thread: fixed bug where result of __NextThread was not being properly checked when NULLbunnei2014-05-221-1/+1
* mutex: refactored the interface to code to return a Mutex* handlebunnei2014-05-212-3/+13
* mutex: initial commit of HLE modulebunnei2014-05-212-0/+148
* kernel: fixed include, in general include "common.h" not "common_types.h"bunnei2014-05-211-1/+1
* thread: added correct lowest thread priority, added a thread priority check, and added some commentsbunnei2014-05-212-6/+10
* thread: exposed ResumeThreadFromWait function for use in other kernel modulesbunnei2014-05-212-8/+11
* thread: moved threading calls to the Kernel namespacebunnei2014-05-213-101/+115
* ARM_Interface: added SaveContext and LoadContext functions for HLE thread switchingbunnei2014-05-211-36/+2
* renamed "syscall" module to "svc" (more accurate naming)bunnei2014-05-211-1/+1
* thread: whitespace change - fixed * and & placementbunnei2014-05-212-27/+27
* - created a Kernel namespacebunnei2014-05-214-67/+79
* thread: added declaration for __KernelReschedule to be used by syscall modulebunnei2014-05-201-0/+3
* - updated service(s) to be KernelObject'sbunnei2014-05-191-4/+5
* - moved Handle/Result definitions to kernel.hbunnei2014-05-192-3/+2
* changed a commentbunnei2014-05-172-2/+2
* - added enum ThreadProcessorIdbunnei2014-05-172-53/+107
* - replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTHbunnei2014-05-173-8/+12
* completely gutted/refactored threading code to be simplerbunnei2014-05-162-658/+230
* changed "UID" to "Handle" to be a little more consistent with CTR namingbunnei2014-05-162-18/+21
* - added helper function for __KernelCreateThreadbunnei2014-05-152-4/+76
* changed primary thread priority to 0x30 - this is typical, not 0x31bunnei2014-05-151-1/+2
* fixed thread reset to not set stack addressbunnei2014-05-141-1/+1
* various cleanups / remove unused codebunnei2014-05-142-65/+29
* added 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 pointbunnei2014-05-142-70/+543
* - added __KernelLoadExec functionbunnei2014-05-142-13/+35
* added initial kernel/thread modulesbunnei2014-05-104-0/+527