summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/kernel.h (unfollow)
Commit message (Expand)AuthorFilesLines
2024-02-14kernel: add and enable system suspend typeLiam1-2/+2
2024-01-13kernel: fix debugger and process list lifetimeLiam1-2/+4
2023-12-23general: properly support multiple memory instancesLiam1-3/+0
2023-12-23kernel: instantiate memory separately for each guest processLiam1-4/+0
2023-12-14service: hid: Allow to create multiple instances of shared memoryNarr the Reg1-6/+0
2023-12-04core: refactor emulated cpu core activationLiam1-7/+0
2023-10-22kernel: update KProcessLiam1-3/+0
2023-03-22kernel: use KTypedAddress for addressesLiam1-1/+2
2023-03-13kernel: remove KLinkedListLiam1-1/+0
2023-03-01kernel: refactor priority inheritance to represent locks as C++ objectsLiam1-65/+2
2023-02-21service: refactor server architectureLiam1-55/+14
2023-02-17kernel: add KObjectNameLiam1-0/+8
2023-02-14general: rename CurrentProcess to ApplicationProcessLiam1-12/+12
2023-02-11core: kernel: k_process: Use application system resource.bunnei1-0/+6
2023-02-01kernel: add KDeviceAddressSpaceLiam1-0/+4
2022-12-19kernel: remove TimeManagerLiam1-6/+3
2022-11-07service_thread: fix deletionLiam1-5/+5
2022-11-04service_thread: register service threads to the logical owner processLiam1-1/+1
2022-11-04core: hle: kernel: Integrate system KSystemResource.bunnei1-5/+18
2022-10-31kernel: fix port trackingLiam1-8/+0
2022-10-31kernel: invert session request handling flowLiam1-0/+9
2022-10-19kernel: add KSessionRequestLiam1-0/+4
2022-10-19core: hle: kernel: k_process: Improve management of page table & cleanup.bunnei1-0/+3
2022-10-19core: hle: kernel: Integration application memory block slab manager.bunnei1-0/+7
2022-10-13kernel: remove KWritableEventLiam1-4/+0
2022-07-25kernel: unlayer CPU interrupt handlingLiam1-8/+0
2022-07-22Project AndioKelebek11-0/+3
2022-06-23kernel: make current thread pointer thread localLiam1-0/+3
2022-06-14kernel: implement KProcess suspensionLiam1-3/+8
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
2022-04-16hidbus: Implement hidbus and ringcongerman771-0/+6
2022-04-08hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.bunnei1-0/+8
2022-04-02hle: kernel: Create a default thread for services that do not need their own host thread.bunnei1-3/+13
2022-03-19core: Reduce unused includesameerj1-1/+0
2022-03-15core: hle: kernel: Remove server session tracking.bunnei1-8/+0
2022-03-15core: hle: kernel: Update init_slab_heap, use device memory, and add KThreadLocalPage and KPageBuffer.bunnei1-6/+8
2022-02-28hle: kernel: k_memory_manager: Rework for latest kernel behavior.bunnei1-0/+4
2022-01-15core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.bunnei1-0/+7
2021-12-07hle: kernel: Add a flag for indicating that the kernel is currently shutting down.bunnei1-0/+2
2021-12-07core: hle: kernel: Reflect non-emulated threads as core 3.bunnei1-0/+3
2021-12-05kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemoryitsmeft241-0/+4
2021-10-27Fix memory leakFeng Chen1-0/+8
2021-09-29Fix KShareMemory object leakFeng Chen1-0/+4
2021-09-11kernel: Add missing <functional> includeMorph1-0/+1
2021-08-26Revert "kernel: Various improvements to scheduler"bunnei1-3/+0
2021-08-07core: hle: kernel: Reflect non-emulated threads as core 3.bunnei1-0/+3
2021-07-21hle: kernel: Track and release server sessions, and protect methods with locks.bunnei1-0/+9
2021-07-21hle: kernel: Provide methods for tracking dangling kernel objects.bunnei1-0/+8
2021-05-11hle: kernel: Implement named service ports using service interface factory.bunnei1-7/+11
2021-05-06hle: kernel: Move slab resource counts to Kernel.bunnei1-0/+10
2021-05-06hle: kernel: Migrate to KHandleTable.bunnei1-3/+4
2021-05-06hle: kernel: Rename Process to KProcess.bunnei1-9/+9
2021-05-06hle: kernel: Remove deprecated Object class.bunnei1-2/+0
2021-05-06hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.bunnei1-1/+5
2021-05-06hle: kernel: Migrate KClientPort to KAutoObject.bunnei1-3/+3
2021-05-06hle: kernel: Migrate KResourceLimit to KAutoObject.bunnei1-16/+22
2021-05-06hle: kernel: Migrate KTransferMemory to KAutoObject.bunnei1-0/+4
2021-05-06hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.bunnei1-0/+8
2021-05-06hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.bunnei1-0/+4
2021-05-06hle: kernel: Move slab heaps to their own container.bunnei1-10/+15
2021-05-06hle: kernel: Move slab heap management to KernelCore.bunnei1-4/+32
2021-05-06hle: kernel: Migrate KProcess to KAutoObject.bunnei1-2/+2
2021-05-06hle: kernel: Migrate more of KThread to KAutoObject.bunnei1-1/+10
2021-03-21hle: kernel: k_memory_layout: Derive memory regions based on board layout.bunnei1-1/+1
2021-02-19hle: kernel: Migrate MemoryManager to KMemoryManager.bunnei1-10/+6
2021-02-19hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.bunnei1-3/+3
2021-02-19hle: kernel: Migrate SlabHeap to KSlabHeap.bunnei1-4/+6
2021-02-19hle: kernel: Rename SharedMemory to KSharedMemory.bunnei1-9/+9
2021-01-30kernel: Rewrite resource limit to be more accurateChloe Marcec1-2/+2
2021-01-29hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.bunnei1-2/+2
2021-01-29kernel: k_light_lock: Simplify EmuThreadHandle implementation.bunnei1-1/+5
2021-01-29hle: kernel: Move single core "phantom mode" out of KThread.bunnei1-0/+4
2021-01-29core: hle: kernel: Rename Thread to KThread.bunnei1-3/+3
2021-01-11hle: kernel: Remove unnecessary AddressArbiter definition.bunnei1-1/+0
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei1-6/+0
2020-12-29hle: kernel: Move ServiceThread ownership to KernelCore.bunnei1-0/+17
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei1-10/+7
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei1-0/+2
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei1-0/+3
2020-07-16kernel: Add missing includeLioncash1-0/+1
2020-06-27General: Cleanup legacy code.Fernando Sahmkow1-3/+0
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow1-1/+7
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.Fernando Sahmkow1-0/+4
2020-06-27Kernel: Preempt Single core on redudant yields.Fernando Sahmkow1-0/+2
2020-06-27General: Initial Setup for Single Core.Fernando Sahmkow1-0/+3
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow1-0/+19
2020-04-17kernel: Initialize memory layout for new VMM.bunnei1-0/+44
2020-02-22Kernel: Address Feedback.Fernando Sahmkow1-3/+3
2020-02-22Kernel: Implement Time Manager.Fernando Sahmkow1-0/+7
2020-02-22Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow1-5/+18
2020-02-22Kernel: Make global scheduler depend on KernelCoreFernando Sahmkow1-0/+7
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow1-0/+7
2020-01-27System: Address FeedbackFernando Sahmkow1-1/+1
2020-01-25Core: Refactor CPU Management.Fernando Sahmkow1-0/+17
2019-12-08kernel: Remove unnecessary includesLioncash1-0/+1
2019-11-27core_timing: Use better reference tracking for EventType. (#3159)bunnei1-1/+1
2019-11-25kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei1-6/+7
2019-10-15Kernel: Reverse global accessor removal.Fernando Sahmkow1-6/+0
2019-10-15Kernel: Address Feedback.Fernando Sahmkow1-1/+1
2019-10-15Kernel: Remove global system accessor from WaitObjectFernando Sahmkow1-0/+6
2019-10-15Add interfacing to the Global SchedulerFernando Sahmkow1-0/+7
2019-06-10kernel: Differentiate kernel and user processes when picking IDZach Hilman1-1/+4
2019-04-02kernel/svc: Implement svcGetProcessListLioncash1-0/+3
2019-03-24kernel/kernel: Remove unnecessary forward declarationLioncash1-3/+0
2019-03-08kernel: Make the address arbiter instance per-processLioncash1-6/+0
2019-03-05kernel/address_arbiter: Pass in system instance to constructorLioncash1-6/+13
2019-03-05kernel/address_arbiter: Convert the address arbiter into a classLioncash1-0/+7
2019-02-16core_timing: Convert core timing into a classLioncash1-2/+7
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash1-2/+2
2019-02-01kernel: Remove the Timer classLioncash1-11/+0
2018-12-19kernel/thread: Make thread_id a 64-bit valueLioncash1-1/+1
2018-12-19kernel/process: Make process_id a 64-bit valueLioncash1-1/+1
2018-11-29kernel/event: Reference ReadableEvent from WritableEventZach Hilman1-11/+0
2018-11-29kernel: Add named event tableZach Hilman1-0/+11
2018-11-20kernel/resource_limit: Clean up interfaceLioncash1-4/+2
2018-10-20kernel/process: Make the handle table per-processLioncash1-6/+0
2018-10-10kernel/thread: Use a regular pointer for the owner/current processLioncash1-5/+5
2018-09-07core: Migrate current_process pointer to the kernelLioncash1-0/+9
2018-09-02service: Migrate global named port map to the KernelCore classLioncash1-0/+18
2018-08-29kernel: Eliminate kernel global stateLioncash1-5/+84
2018-08-03core/memory: Get rid of 3DS leftoversLioncash1-1/+1
2018-08-02kernel: Move object class to its own source filesLioncash1-110/+0
2018-04-21Qt: Update the WaitTree widget to show info about the current mutex of each thread.Subv1-4/+0
2018-03-16kernel: Move stack region outside of application heap.bunnei1-4/+0
2018-01-25hle: Remove Domain and SyncObject kernel objects.bunnei1-16/+0
2018-01-16clang-formatMerryMage1-1/+0
2018-01-14kernel: Increase default stack size to 64K.bunnei1-1/+1
2018-01-09kernel: Rename Semaphore to ConditionVariable.bunnei1-2/+2
2017-12-29kernel: Add basic support for Domain object.bunnei1-0/+17
2017-08-22Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).Subv1-1/+1
2017-08-21Warnings: Add UNREACHABLE macros to switches that contemplate all possible values.Subv1-0/+3
2017-05-30Kernel: Move HandleTable to a separate fileYuri Kunde Schlesner1-115/+1
2017-05-30Kernel: Move WaitObject to a separate fileYuri Kunde Schlesner1-53/+0
2017-05-30Kernel: Removed HandleTable::GetWaitObjectYuri Kunde Schlesner1-9/+0
2017-05-29Kernel: Extract dynamic Object pointer cast into its own functionYuri Kunde Schlesner1-11/+24
2017-05-25Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner1-7/+0
2017-01-05Kernel: Implemented Pulse event and timers.Subv1-1/+1
2017-01-04Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.Subv1-1/+1
2017-01-04Kernel/Mutex: Implemented priority inheritance.Subv1-1/+1
2017-01-04Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv1-4/+5
2016-12-22core: Remove HLE module, consolidate code & various cleanups.bunnei1-1/+2
2016-12-09WaitSynch: Removed unused variables and reduced SharedPtr copies.Subv1-1/+4
2016-12-05Kernel: Remove the Redirection handle type.Subv1-2/+0
2016-12-04Threading: Reworked the way our scheduler works.Subv1-0/+3
2016-12-01Fixed the rebase mistakes.Subv1-18/+16
2016-12-01fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv1-2/+3
2016-12-01 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv1-17/+19
2016-11-20Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv1-2/+2
2016-09-22move ResetType to kernel.hwwylele1-0/+6
2016-09-22implement wait tree widgetwwylele1-0/+3
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-4/+1
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-2/+1
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-28/+38
2016-06-11Kernel/SVC: Implemented svcCreatePort.Subv1-1/+2
2016-06-05Kernel: Added ClientPort and ServerPort classes.Subv1-2/+4
2015-07-12Kernel: Add CodeSet case to Object::IsWaitableYuri Kunde Schlesner1-0/+1
2015-07-12Core: Properly configure address space when loading a binaryYuri Kunde Schlesner1-0/+1
2015-06-28Common: Cleanup key_map includes.Emmanuel Gil Peyrot1-4/+3
2015-06-17kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei1-6/+0
2015-05-21Kernel: Fix a warning introduced with ResourceLimit, and remove the fallback code to prevent it from happening again.Emmanuel Gil Peyrot1-2/+1
2015-05-15Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv1-1/+2
2015-05-09Kernel: Remove g_program_idYuri Kunde Schlesner1-6/+0
2015-05-09Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner1-7/+3
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+2
2015-05-07Move typedefs from kernel.h to more appropriate placesYuri Kunde Schlesner1-10/+1
2015-05-02Kernel: Properly initialize and shutdown all modules.bunnei1-2/+3
2015-02-12Build: Fixed some warningsSubv1-1/+1
2015-02-02Kernel: Make WaitObjects share ownership of Threads waiting on themYuri Kunde Schlesner1-5/+5
2015-02-02Kernel: Remove Object::GetHandle (it's not used anymore :D)Yuri Kunde Schlesner1-5/+0
2015-02-02Kernel: Introduce unique Object ids for debuggingYuri Kunde Schlesner1-0/+6
2015-01-30Remove result.h InvalidHandleYuri Kunde Schlesner1-1/+2
2015-01-30Move VAddr/PAddr typedefs to kernel.hYuri Kunde Schlesner1-0/+5
2015-01-22Kernel: Renamed some functions for clarity.bunnei1-4/+4
2015-01-22Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei1-6/+3
2015-01-22WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.bunnei1-10/+4
2015-01-22Session: Change to a WaitObject.bunnei1-0/+1
2015-01-22Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.bunnei1-16/+55
2015-01-22Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei1-3/+2
2015-01-22WaitSynchronizationN: Refactor to fix several bugsbunnei1-6/+6
2015-01-22Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei1-2/+11
2015-01-22WaitSynchronizationN: Implement return valuesbunnei1-3/+4
2015-01-22WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.bunnei1-1/+7
2015-01-22Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei1-0/+25
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner1-8/+13
2015-01-09Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner1-1/+1
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner1-1/+3
2015-01-09SVC: Implemented the Timer service calls.Subv1-0/+1
2014-12-28Kernel: New handle managerYuri Kunde Schlesner1-81/+109
2014-12-28Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner1-1/+1
2014-12-28Rename ObjectPool to HandleTableYuri Kunde Schlesner1-6/+6
2014-12-21License changepurpasmart961-1/+1
2014-12-20Kernel: Implement support for current thread pseudo-handleYuri Kunde Schlesner1-0/+12
2014-12-18Filesystem/Archives: Implemented the SaveData archiveSubv1-0/+6
2014-12-15Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner1-14/+2
2014-12-13kernel: Remove unused log argumentsLioncash1-3/+3
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner1-7/+10
2014-12-04kernel: Make some functions constLioncash1-2/+2
2014-11-24HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner1-27/+17
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-5/+5
2014-11-18Remove extraneous semicolonsLioncash1-1/+1
2014-09-17Kernel: Add a Directory object and a getter for it from an Archive object.Emmanuel Gil Peyrot1-0/+1
2014-08-19Core: Use std::array for managing kernel object spaceLioncash1-3/+4
2014-08-18Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash1-3/+3
2014-07-09Kernel: Added preliminary support for address arbiters.bunnei1-1/+1
2014-06-27Kernel: Added stubbed code to support creation of kernel Archive objects.bunnei1-0/+1
2014-06-13Kernel: Added freeing of kernel objects on emulator shutdown.bunnei1-0/+6
2014-06-13Kernel: Updated several member functions to be constbunnei1-2/+2
2014-06-13Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)bunnei1-2/+4
2014-06-03kernel: moved position of * for GetTypeName and GetNamebunnei1-2/+2
2014-06-02kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei1-0/+1
2014-05-27kernel: added WaitSynchronization method to Kernel::Objectbunnei1-0/+7
2014-05-27kernel: updated SyncRequest to take boolean thread wait result as a parameterbunnei1-1/+8
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 svcSendSyncRequestbunnei1-0/+1
2014-05-23kernel: refactored function naming to remove "__" prefixbunnei1-2/+7
2014-05-21kernel: fixed include, in general include "common.h" not "common_types.h"bunnei1-1/+1
2014-05-21- created a Kernel namespacebunnei1-31/+44
2014-05-19- updated service(s) to be KernelObject'sbunnei1-4/+5
2014-05-19- moved Handle/Result definitions to kernel.hbunnei1-1/+2
2014-05-17- replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTHbunnei1-3/+2
2014-05-16changed "UID" to "Handle" to be a little more consistent with CTR namingbunnei1-13/+16
2014-05-14- added __KernelLoadExec functionbunnei1-13/+24
2014-05-10added initial kernel/thread modulesbunnei1-0/+121