summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/kernel.cpp (follow)
Commit message (Expand)AuthorAgeFilesLines
* hle: kernel: Move slab heaps to their own container.bunnei2021-05-061-0/+1
* hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.bunnei2021-05-061-25/+25
* hle: kernel: Ensure all kernel objects with KAutoObject are properly created.bunnei2021-05-061-0/+7
* hle: kernel: Use unique_ptr for suspend and dummy threads.bunnei2021-05-061-8/+8
* hle: kernel: Migrate KSharedMemory to KAutoObject.bunnei2021-05-061-20/+25
* hle: kernel: Migrate KProcess to KAutoObject.bunnei2021-05-061-4/+4
* hle: kernel: Migrate more of KThread to KAutoObject.bunnei2021-05-061-24/+48
* hle: kernel: Refactor out various KThread std::shared_ptr usage.bunnei2021-05-061-2/+2
* k_resource_limit: Minor cleanup of member variables/headersameerj2021-04-141-3/+4
* kernel/process: Replace process resource limit instance with the kernel's resource limitameerj2021-04-121-16/+25
* Merge pull request #6099 from bunnei/derive-membunnei2021-04-101-26/+296
|\
| * hle: kernel: Breakup InitializeMemoryLayout.bunnei2021-03-241-3/+7
| * common: common_sizes: Move sizes to the Common namespace.bunnei2021-03-241-7/+7
| * hle: kernel: Remove unused variable.bunnei2021-03-211-1/+0
| * hle: kernel: k_memory_layout: Derive memory regions based on board layout.bunnei2021-03-211-26/+293
| * hle: kernel: Move KMemoryRegion to its own module and update.bunnei2021-03-211-10/+10
* | kernel: Increase event and session countsameerj2021-04-071-2/+2
* | hle: kernel: Initialize preemption task after schedulers.bunnei2021-03-271-1/+1
|/
* hle: kernel: KThread: Rework dummy threads & fix memory leak.bunnei2021-03-061-6/+5
* Merge pull request #5953 from bunnei/memory-refactor-1bunnei2021-02-271-44/+44
|\
| * hle: kernel: Migrate MemoryManager to KMemoryManager.bunnei2021-02-191-8/+8
| * hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.bunnei2021-02-191-16/+16
| * hle: kernel: Migrate SlabHeap to KSlabHeap.bunnei2021-02-191-5/+5
| * hle: kernel: Migrate MemoryLayout to KMemoryLayout.bunnei2021-02-191-2/+2
| * hle: kernel: Rename SharedMemory to KSharedMemory.bunnei2021-02-191-17/+17
* | kernel: Fix resource release exception on exitameerj2021-02-211-2/+7
|/
* kernel: More accurately reserve and release resourcesameerj2021-02-131-3/+12
* kernel: Unify result codes (#5890)Chloe2021-02-131-1/+1
* Simplify limitableresource namesChloe Marcec2021-02-031-10/+6
* kernel: Rewrite resource limit to be more accurateChloe Marcec2021-01-301-13/+17
* hle: kernel: threading: Fix bug with host thread naming.bunnei2021-01-291-3/+2
* hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.bunnei2021-01-291-7/+20
* kernel: Fix build errors.bunnei2021-01-291-2/+2
* hle: kernel: Recode implementation of KThread to be more accurate.bunnei2021-01-291-5/+5
* kernel: k_light_lock: Simplify EmuThreadHandle implementation.bunnei2021-01-291-14/+7
* hle: kernel: KThread: Fix ThreadType definition.bunnei2021-01-291-1/+1
* hle: kernel: Move single core "phantom mode" out of KThread.bunnei2021-01-291-1/+20
* hle: kernel: KThread: Remove thread types that do not exist.bunnei2021-01-291-5/+3
* core: hle: kernel: Rename Thread to KThread.bunnei2021-01-291-7/+7
* hle: kernel: thread: Preserve thread wait reason for debugging only.bunnei2021-01-111-0/+2
* hle: kernel: Rename thread "status" to "state".bunnei2021-01-111-2/+2
* hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ThreadState.bunnei2021-01-111-1/+1
* core: hle: kernel: Update KSynchronizationObject.bunnei2021-01-111-13/+2
* hle: kernel: Manage service threads on another thread.bunnei2020-12-301-9/+20
* hle: kernel: Manage host thread IDs using TLS.bunnei2020-12-301-46/+31
* hle: kernel: Move ServiceThread ownership to KernelCore.bunnei2020-12-291-1/+20
* core: hle: kernel: Clear process list on boot.bunnei2020-12-291-2/+2
* core: kernel: Clear process list earlier.bunnei2020-12-291-2/+2
* core: hle: server_session: Use separate threads for each service connection.bunnei2020-12-291-1/+1
* hle: kernel: Migrate to KScopedSchedulerLock.bunnei2020-12-061-2/+2
* hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei2020-12-061-35/+24
* core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei2020-11-291-5/+10
* common: fiber: Use boost::context instead of native fibers on Windows.bunnei2020-11-291-1/+1
* hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei2020-11-291-6/+17
* hle/kernel: Remove unused registered_core_threads to fix data racesReinUsesLisp2020-10-271-5/+0
* Revert "core: Fix clang build"bunnei2020-10-211-1/+1
* kernel: Fix build with recent compiler flag changesLioncash2020-10-211-4/+8
* Merge pull request #4796 from lioncash/clangLC2020-10-211-1/+1
|\
| * core: Fix clang buildLioncash2020-10-181-1/+1
* | kernel: Implement host thread register methods without lockingReinUsesLisp2020-10-131-28/+38
|/
* hle/kernel: Fix data race in GetCurrentHostThreadIDReinUsesLisp2020-08-261-1/+2
* core_timing: Make use of uintptr_t to represent user_dataLioncash2020-07-281-1/+1
* Merge pull request #4348 from lioncash/nanobunnei2020-07-181-3/+5
|\
| * core_timing: Make TimedCallback take std::chrono::nanosecondsLioncash2020-07-161-1/+1
| * core_timing: Make use of std::chrono with ScheduleEventLioncash2020-07-161-2/+4
* | cpu_manager: Mark function getters as staticLioncash2020-07-161-5/+6
* | kernel/handle_table: Remove usages of the global system instanceLioncash2020-07-151-2/+3
|/
* Core/Common: Address Feedback.Fernando Sahmkow2020-06-281-9/+5
* General: Cleanup legacy code.Fernando Sahmkow2020-06-271-79/+2
* Kernel/svcBreak: Implement CacheInvalidation for Singlecore and correct svcBreak.Fernando Sahmkow2020-06-271-1/+11
* Scheduler: Correct Reload/UnloadFernando Sahmkow2020-06-271-0/+1
* General: Move ARM_Interface into Threads.Fernando Sahmkow2020-06-271-38/+21
* Core: Refactor ARM Interface.Fernando Sahmkow2020-06-271-1/+27
* SingleCore: Move Host Timing from a sepparate thread to main cpu thread.Fernando Sahmkow2020-06-271-1/+1
* General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.Fernando Sahmkow2020-06-271-0/+15
* General: Fix Stop functionFernando Sahmkow2020-06-271-0/+15
* Kernel: Preempt Single core on redudant yields.Fernando Sahmkow2020-06-271-0/+4
* General: Initial Setup for Single Core.Fernando Sahmkow2020-06-271-0/+19
* Kernel: Fixes, corrections and asserts to scheduler and different svcs.Fernando Sahmkow2020-06-271-0/+1
* General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-7/+77
* kernel: resource_limit: Reserve physical memory.bunnei2020-04-171-1/+6
* kernel: Initialize memory layout for new VMM.bunnei2020-04-171-0/+115
* CMakeLists: Make -Wreorder a compile-time errorLioncash2020-04-151-1/+1
* core: Implement separate A32/A64 ARM interfaces.bunnei2020-03-031-0/+4
* Kernel: Address Feedback.Fernando Sahmkow2020-02-221-11/+16
* Kernel: Implement Time Manager.Fernando Sahmkow2020-02-221-1/+11
* Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow2020-02-221-12/+76
* Kernel: Make global scheduler depend on KernelCoreFernando Sahmkow2020-02-221-3/+11
* Kernel: Refactor synchronization to better match REFernando Sahmkow2020-02-111-1/+12
* Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.Fernando Sahmkow2020-02-111-2/+2
* kernel/physical_core: Remove unused kernel reference member variableLioncash2020-01-311-4/+4
* System: Address FeedbackFernando Sahmkow2020-01-271-2/+3
* ArmInterface: Delegate Exclusive monitor factory to exclusive monitor interfasce.Fernando Sahmkow2020-01-261-15/+2
* Core: Refactor CPU Management.Fernando Sahmkow2020-01-251-1/+63
* Kernel: Correct behavior of Address Arbiter threads. (#3165)Fernando Sahmkow2019-12-111-3/+3
* kernel: Remove unnecessary includesLioncash2019-12-081-1/+0
* core/memory; Migrate over SetCurrentPageTable() to the Memory classLioncash2019-11-271-7/+11
* core_timing: Use better reference tracking for EventType. (#3159)bunnei2019-11-271-6/+7
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei2019-11-251-9/+10
* Kernel: Optimize condition variable threads management.Fernando Sahmkow2019-11-211-1/+1
* Kernel: Correct behavior of Condition Variables to be more similar to real hardware.Fernando Sahmkow2019-11-211-0/+3
* Kernel: Reverse global accessor removal.Fernando Sahmkow2019-10-151-8/+0
* Kernel Scheduler: Make sure the global scheduler shutdowns correctly.Fernando Sahmkow2019-10-151-0/+2
* Kernel: Correct Results in Condition Variables and MutexesFernando Sahmkow2019-10-151-6/+7
* Kernel: Remove global system accessor from WaitObjectFernando Sahmkow2019-10-151-0/+8
* Kernel: Initial implementation of thread preemption.Fernando Sahmkow2019-10-151-0/+16
* Kernel: Style and CorrectionsFernando Sahmkow2019-10-151-1/+1
* Add interfacing to the Global SchedulerFernando Sahmkow2019-10-151-0/+10
* kernel: Differentiate kernel and user processes when picking IDZach Hilman2019-06-101-4/+10
* Merge pull request #2416 from lioncash/waitbunnei2019-04-251-2/+1
|\
| * kernel/thread: Unify wait synchronization typesLioncash2019-04-171-2/+1
* | core/cpu_core_manager: Create threads separately from initialization.Lioncash2019-04-121-1/+6
|/
* kernel: Handle page table switching within MakeCurrentProcess()Lioncash2019-04-071-0/+2
* Merge pull request #2270 from lioncash/plistbunnei2019-04-031-0/+4
|\
| * kernel/svc: Implement svcGetProcessListLioncash2019-04-021-0/+4
* | kernel/resource_limit: Remove the name member from resource limitsLioncash2019-04-011-1/+1
|/
* general: Use deducation guides for std::lock_guard and std::unique_lockLioncash2019-04-011-1/+1
* Merge pull request #2266 from FernandoS27/arbitrationbunnei2019-03-291-1/+2
|\
| * Fix small bug that kept a thread as a condvar thread after being signalled.Fernando Sahmkow2019-03-201-1/+2
| * Add CondVar Thread State.Fernando Sahmkow2019-03-201-1/+1
* | core/core_timing: Make callback parameters consistentLioncash2019-03-241-1/+1
|/
* kernel: Make the address arbiter instance per-processLioncash2019-03-081-11/+1
* kernel/address_arbiter: Pass in system instance to constructorLioncash2019-03-051-7/+12
* kernel/address_arbiter: Convert the address arbiter into a classLioncash2019-03-051-0/+11
* core_timing: Convert core timing into a classLioncash2019-02-161-6/+6
* core_timing: Rename CoreTiming namespace to Core::TimingLioncash2019-02-121-3/+3
* kernel: Remove the Timer classLioncash2019-02-011-42/+0
* core/kernel: Remove unnecessary inclusionsLioncash2019-01-011-1/+0
* kernel/kernel: Use correct initial PID for userland Process instancesLioncash2018-12-191-4/+2
* kernel/thread: Make thread_id a 64-bit valueLioncash2018-12-191-2/+2
* kernel/process: Make process_id a 64-bit valueLioncash2018-12-191-2/+2
* kernel/resource_limit: Clean up interfaceLioncash2018-11-201-63/+16
* core: Make System references const where applicableLioncash2018-10-281-2/+2
* kernel/process: Make the handle table per-processLioncash2018-10-201-10/+0
* kernel/thread: Use a regular pointer for the owner/current processLioncash2018-10-101-6/+6
* kernel/thread: Make all instance variables privateLioncash2018-10-041-18/+18
* core: Migrate current_process pointer to the kernelLioncash2018-09-071-0/+14
* service: Migrate global named port map to the KernelCore classLioncash2018-09-021-0/+24
* kernel: Eliminate kernel global stateLioncash2018-08-291-15/+268
* kernel/object: Tighten object against data racesLioncash2018-08-131-1/+1
* core/memory: Get rid of 3DS leftoversLioncash2018-08-031-5/+1
* kernel: Remove unused object_address_table.cpp/.hLioncash2018-07-311-2/+0
* hle: Remove config_mem.h/.cppLioncash2018-07-231-3/+0
* hle: Remove shared_page.h/.cppLioncash2018-07-231-2/+0
* core: Move process creation out of global state.bunnei2018-03-141-1/+0
* kernel: Add ObjectAddressTable class.bunnei2018-01-011-2/+5
* Kernel: Move HandleTable to a separate fileYuri Kunde Schlesner2017-05-301-84/+1
* Kernel: Move WaitObject to a separate fileYuri Kunde Schlesner2017-05-301-79/+0
* Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner2017-05-251-0/+1
* Kernel: Add some asserts to enforce the invariants in the scheduler.Subv2017-01-051-0/+8
* Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.Subv2017-01-051-18/+4
* Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.Subv2017-01-051-1/+7
* Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.Subv2017-01-041-8/+15
* Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv2017-01-041-8/+6
* Kernel: remove object's waiting thread if it is deadwwylele2016-12-161-1/+2
* Fixed the codestyle to match our clang-format rules.Subv2016-12-141-4/+5
* Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.Subv2016-12-101-1/+6
* WaitSynch: Removed unused variables and reduced SharedPtr copies.Subv2016-12-091-10/+4
* Use boost remove_erase_if instead of the erase-remove idiomSubv2016-12-071-2/+3
* Improved the algorithm for GetHighestPriorityReadyThread.Subv2016-12-071-14/+13
* Threading: Added some utility functions and const correctness.Subv2016-12-041-7/+6
* Threading: Reworked the way our scheduler works.Subv2016-12-041-5/+54
* Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv2016-11-201-4/+2
* implement wait tree widgetwwylele2016-09-221-0/+4
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-3/+1
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-1/+2
* Kernel: Add more infrastructure to support different memory layoutsYuri Kunde Schlesner2015-08-161-3/+16
* Common: Cleanup key_map includes.Emmanuel Gil Peyrot2015-06-281-2/+0
* kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei2015-06-171-18/+4
* Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv2015-05-151-0/+3
* fixup!Subv2015-05-121-1/+3
* Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadSubv2015-05-111-2/+2
* Kernel: Remove unused g_main_thread variableYuri Kunde Schlesner2015-05-091-2/+0
* Kernel: Remove g_program_idYuri Kunde Schlesner2015-05-091-2/+0
* Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner2015-05-091-12/+2
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-1/+2
* Kernel: Properly initialize and shutdown all modules.bunnei2015-05-021-4/+7
* Kernel: Fixed default thread priority.bunnei2015-04-101-1/+1
* Build: Fixed some warningsSubv2015-02-121-2/+2
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-2/+2
* Scheduler refactor Pt. 1Kevin Hartman2015-02-101-5/+1
* core: Fix some warnings on OSXLioncash2015-02-031-1/+0
* Kernel: Make WaitObjects share ownership of Threads waiting on themYuri Kunde Schlesner2015-02-021-4/+4
* 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-021-4/+1
* Kernel: Introduce unique Object ids for debuggingYuri Kunde Schlesner2015-02-021-0/+2
* Kernel: Renamed some functions for clarity.bunnei2015-01-221-1/+1
* Session: Change to a WaitObject.bunnei2015-01-221-1/+1
* Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.bunnei2015-01-221-1/+1
* AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.bunnei2015-01-221-1/+1
* Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei2015-01-221-2/+4
* WaitSynchronizationN: Implement return valuesbunnei2015-01-221-2/+2
* WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.bunnei2015-01-221-3/+10
* Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei2015-01-221-0/+26
* Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner2015-01-091-13/+10
* Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner2015-01-091-1/+2
* Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner2015-01-091-1/+1
* Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner2015-01-091-2/+1
* Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2015-01-091-0/+1
* Merge pull request #255 from Subv/cbranch_3bunnei2015-01-091-1/+3
|\
| * SVC: Implemented the Timer service calls.Subv2015-01-091-1/+3
* | Threads: Use a dummy idle thread when no other are ready.Subv2015-01-081-0/+2
|/
* Kernel: New handle managerYuri Kunde Schlesner2014-12-281-51/+67
* Rename ObjectPool to HandleTableYuri Kunde Schlesner2014-12-281-10/+10
* License changepurpasmart962014-12-211-2/+2
* Filesystem/Archives: Implemented the SaveData archiveSubv2014-12-181-0/+1
* 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-161-1/+1
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-131-4/+4
* kernel: Shorten GetCountLioncash2014-12-041-6/+3
* kernel: Make some functions constLioncash2014-12-041-2/+2
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-191-3/+3
* Core: Get rid of unnecessary switch statement in KernelLioncash2014-09-151-41/+2
* core: Prune redundant includesarchshift2014-09-091-2/+0
* Core: Use std::array for managing kernel object spaceLioncash2014-08-191-2/+1
* Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash2014-08-181-2/+2
* Archive: Added Init/Shutdown methods to reset kernel archive state.bunnei2014-07-051-0/+3
* Kernel: Removed unnecessary "#pragma once".bunnei2014-06-131-2/+0
* Kernel: Added freeing of kernel objects on emulator shutdown.bunnei2014-06-131-0/+4
* HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei2014-06-131-1/+1
* kernel: changed current default thread priority back to 0x30 - I think this is more correctbunnei2014-06-051-1/+1
* kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei2014-06-021-1/+2
* kernel: refactored function naming to remove "__" prefixbunnei2014-05-231-5/+10
* thread: moved threading calls to the Kernel namespacebunnei2014-05-211-3/+3
* - created a Kernel namespacebunnei2014-05-211-25/+24
* changed "UID" to "Handle" to be a little more consistent with CTR namingbunnei2014-05-161-5/+5
* changed primary thread priority to 0x30 - this is typical, not 0x31bunnei2014-05-151-1/+2
* - added __KernelLoadExec functionbunnei2014-05-141-0/+11
* added initial kernel/thread modulesbunnei2014-05-101-0/+142