summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/kernel.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2021-01-29hle: kernel: threading: Fix bug with host thread naming.bunnei1-3/+2
2021-01-29hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.bunnei1-7/+20
2021-01-29kernel: Fix build errors.bunnei1-2/+2
2021-01-29hle: kernel: Recode implementation of KThread to be more accurate.bunnei1-5/+5
2021-01-29kernel: k_light_lock: Simplify EmuThreadHandle implementation.bunnei1-14/+7
2021-01-29hle: kernel: KThread: Fix ThreadType definition.bunnei1-1/+1
2021-01-29hle: kernel: Move single core "phantom mode" out of KThread.bunnei1-1/+20
2021-01-29hle: kernel: KThread: Remove thread types that do not exist.bunnei1-5/+3
2021-01-29core: hle: kernel: Rename Thread to KThread.bunnei1-7/+7
2021-01-11hle: kernel: thread: Preserve thread wait reason for debugging only.bunnei1-0/+2
2021-01-11hle: kernel: Rename thread "status" to "state".bunnei1-2/+2
2021-01-11hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ThreadState.bunnei1-1/+1
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei1-13/+2
2020-12-30hle: kernel: Manage service threads on another thread.bunnei1-9/+20
2020-12-30hle: kernel: Manage host thread IDs using TLS.bunnei1-46/+31
2020-12-29hle: kernel: Move ServiceThread ownership to KernelCore.bunnei1-1/+20
2020-12-29core: hle: kernel: Clear process list on boot.bunnei1-2/+2
2020-12-29core: kernel: Clear process list earlier.bunnei1-2/+2
2020-12-29core: hle: server_session: Use separate threads for each service connection.bunnei1-1/+1
2020-12-06hle: kernel: Migrate to KScopedSchedulerLock.bunnei1-2/+2
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei1-35/+24
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei1-5/+10
2020-11-29common: fiber: Use boost::context instead of native fibers on Windows.bunnei1-1/+1
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei1-6/+17
2020-10-27hle/kernel: Remove unused registered_core_threads to fix data racesReinUsesLisp1-5/+0
2020-10-21Revert "core: Fix clang build"bunnei1-1/+1
2020-10-21kernel: Fix build with recent compiler flag changesLioncash1-4/+8
2020-10-18core: Fix clang buildLioncash1-1/+1
2020-10-13kernel: Implement host thread register methods without lockingReinUsesLisp1-28/+38
2020-08-26hle/kernel: Fix data race in GetCurrentHostThreadIDReinUsesLisp1-1/+2
2020-07-28core_timing: Make use of uintptr_t to represent user_dataLioncash1-1/+1
2020-07-16cpu_manager: Mark function getters as staticLioncash1-5/+6
2020-07-16core_timing: Make TimedCallback take std::chrono::nanosecondsLioncash1-1/+1
2020-07-16core_timing: Make use of std::chrono with ScheduleEventLioncash1-2/+4
2020-07-15kernel/handle_table: Remove usages of the global system instanceLioncash1-2/+3
2020-06-28Core/Common: Address Feedback.Fernando Sahmkow1-9/+5
2020-06-27General: Cleanup legacy code.Fernando Sahmkow1-79/+2
2020-06-27Kernel/svcBreak: Implement CacheInvalidation for Singlecore and correct svcBreak.Fernando Sahmkow1-1/+11
2020-06-27Scheduler: Correct Reload/UnloadFernando Sahmkow1-0/+1
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow1-38/+21
2020-06-27Core: Refactor ARM Interface.Fernando Sahmkow1-1/+27
2020-06-27SingleCore: Move Host Timing from a sepparate thread to main cpu thread.Fernando Sahmkow1-1/+1
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.Fernando Sahmkow1-0/+15
2020-06-27General: Fix Stop functionFernando Sahmkow1-0/+15
2020-06-27Kernel: Preempt Single core on redudant yields.Fernando Sahmkow1-0/+4
2020-06-27General: Initial Setup for Single Core.Fernando Sahmkow1-0/+19
2020-06-27Kernel: Fixes, corrections and asserts to scheduler and different svcs.Fernando Sahmkow1-0/+1
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow1-7/+77
2020-04-17kernel: resource_limit: Reserve physical memory.bunnei1-1/+6
2020-04-17kernel: Initialize memory layout for new VMM.bunnei1-0/+115
2020-04-15CMakeLists: Make -Wreorder a compile-time errorLioncash1-1/+1
2020-03-03core: Implement separate A32/A64 ARM interfaces.bunnei1-0/+4
2020-02-22Kernel: Address Feedback.Fernando Sahmkow1-11/+16
2020-02-22Kernel: Implement Time Manager.Fernando Sahmkow1-1/+11
2020-02-22Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow1-12/+76
2020-02-22Kernel: Make global scheduler depend on KernelCoreFernando Sahmkow1-3/+11
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow1-1/+12
2020-02-11Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.Fernando Sahmkow1-2/+2
2020-01-31kernel/physical_core: Remove unused kernel reference member variableLioncash1-4/+4
2020-01-27System: Address FeedbackFernando Sahmkow1-2/+3
2020-01-26ArmInterface: Delegate Exclusive monitor factory to exclusive monitor interfasce.Fernando Sahmkow1-15/+2
2020-01-25Core: Refactor CPU Management.Fernando Sahmkow1-1/+63
2019-12-11Kernel: Correct behavior of Address Arbiter threads. (#3165)Fernando Sahmkow1-3/+3
2019-12-08kernel: Remove unnecessary includesLioncash1-1/+0
2019-11-27core/memory; Migrate over SetCurrentPageTable() to the Memory classLioncash1-7/+11
2019-11-27core_timing: Use better reference tracking for EventType. (#3159)bunnei1-6/+7
2019-11-25kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei1-9/+10
2019-11-21Kernel: Optimize condition variable threads management.Fernando Sahmkow1-1/+1
2019-11-21Kernel: Correct behavior of Condition Variables to be more similar to real hardware.Fernando Sahmkow1-0/+3
2019-10-15Kernel: Reverse global accessor removal.Fernando Sahmkow1-8/+0
2019-10-15Kernel Scheduler: Make sure the global scheduler shutdowns correctly.Fernando Sahmkow1-0/+2
2019-10-15Kernel: Correct Results in Condition Variables and MutexesFernando Sahmkow1-6/+7
2019-10-15Kernel: Remove global system accessor from WaitObjectFernando Sahmkow1-0/+8
2019-10-15Kernel: Initial implementation of thread preemption.Fernando Sahmkow1-0/+16
2019-10-15Kernel: Style and CorrectionsFernando Sahmkow1-1/+1
2019-10-15Add interfacing to the Global SchedulerFernando Sahmkow1-0/+10
2019-06-10kernel: Differentiate kernel and user processes when picking IDZach Hilman1-4/+10
2019-04-17kernel/thread: Unify wait synchronization typesLioncash1-2/+1
2019-04-12core/cpu_core_manager: Create threads separately from initialization.Lioncash1-1/+6
2019-04-07kernel: Handle page table switching within MakeCurrentProcess()Lioncash1-0/+2
2019-04-02kernel/svc: Implement svcGetProcessListLioncash1-0/+4
2019-04-01kernel/resource_limit: Remove the name member from resource limitsLioncash1-1/+1
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash1-1/+1
2019-03-24core/core_timing: Make callback parameters consistentLioncash1-1/+1
2019-03-20Fix small bug that kept a thread as a condvar thread after being signalled.Fernando Sahmkow1-1/+2
2019-03-20Add CondVar Thread State.Fernando Sahmkow1-1/+1
2019-03-08kernel: Make the address arbiter instance per-processLioncash1-11/+1
2019-03-05kernel/address_arbiter: Pass in system instance to constructorLioncash1-7/+12
2019-03-05kernel/address_arbiter: Convert the address arbiter into a classLioncash1-0/+11
2019-02-16core_timing: Convert core timing into a classLioncash1-6/+6
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash1-3/+3
2019-02-01kernel: Remove the Timer classLioncash1-42/+0
2019-01-01core/kernel: Remove unnecessary inclusionsLioncash1-1/+0
2018-12-19kernel/kernel: Use correct initial PID for userland Process instancesLioncash1-4/+2
2018-12-19kernel/thread: Make thread_id a 64-bit valueLioncash1-2/+2
2018-12-19kernel/process: Make process_id a 64-bit valueLioncash1-2/+2
2018-11-29hle_ipc: Refactor SleepClientThread to avoid ReadableEventZach Hilman1-2/+0
2018-11-29kernel/event: Reference ReadableEvent from WritableEventZach Hilman1-17/+0
2018-11-29kernel: Add named event tableZach Hilman1-0/+19
2018-11-20kernel/resource_limit: Clean up interfaceLioncash1-63/+16
2018-10-28core: Make System references const where applicableLioncash1-2/+2
2018-10-20kernel/process: Make the handle table per-processLioncash1-10/+0
2018-10-10kernel/thread: Use a regular pointer for the owner/current processLioncash1-6/+6
2018-10-04kernel/thread: Make all instance variables privateLioncash1-18/+18
2018-09-07core: Migrate current_process pointer to the kernelLioncash1-0/+14
2018-09-02service: Migrate global named port map to the KernelCore classLioncash1-0/+24
2018-08-29kernel: Eliminate kernel global stateLioncash1-15/+268
2018-08-13kernel/object: Tighten object against data racesLioncash1-1/+1
2018-08-03core/memory: Get rid of 3DS leftoversLioncash1-5/+1
2018-07-31kernel: Remove unused object_address_table.cpp/.hLioncash1-2/+0
2018-07-23hle: Remove config_mem.h/.cppLioncash1-3/+0
2018-07-23hle: Remove shared_page.h/.cppLioncash1-2/+0
2018-03-14core: Move process creation out of global state.bunnei1-1/+0
2018-01-01kernel: Add ObjectAddressTable class.bunnei1-2/+5
2017-05-30Kernel: Move HandleTable to a separate fileYuri Kunde Schlesner1-84/+1
2017-05-30Kernel: Move WaitObject to a separate fileYuri Kunde Schlesner1-79/+0
2017-05-25Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner1-0/+1
2017-01-05Kernel: Add some asserts to enforce the invariants in the scheduler.Subv1-0/+8
2017-01-05Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.Subv1-18/+4
2017-01-05Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.Subv1-1/+7
2017-01-04Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.Subv1-8/+15
2017-01-04Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv1-8/+6
2016-12-16Kernel: remove object's waiting thread if it is deadwwylele1-1/+2
2016-12-14Fixed the codestyle to match our clang-format rules.Subv1-4/+5
2016-12-10Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.Subv1-1/+6
2016-12-09WaitSynch: Removed unused variables and reduced SharedPtr copies.Subv1-10/+4
2016-12-07Use boost remove_erase_if instead of the erase-remove idiomSubv1-2/+3
2016-12-07Improved the algorithm for GetHighestPriorityReadyThread.Subv1-14/+13
2016-12-04Threading: Added some utility functions and const correctness.Subv1-7/+6
2016-12-04Threading: Reworked the way our scheduler works.Subv1-5/+54
2016-11-20Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv1-4/+2
2016-09-22implement wait tree widgetwwylele1-0/+4
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-3/+1
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-1/+2
2015-08-16Kernel: Add more infrastructure to support different memory layoutsYuri Kunde Schlesner1-3/+16
2015-06-28Common: Cleanup key_map includes.Emmanuel Gil Peyrot1-2/+0
2015-06-17kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei1-18/+4
2015-05-15Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv1-0/+3
2015-05-12fixup!Subv1-1/+3
2015-05-11Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadSubv1-2/+2
2015-05-09Kernel: Remove unused g_main_thread variableYuri Kunde Schlesner1-2/+0
2015-05-09Kernel: Remove g_program_idYuri Kunde Schlesner1-2/+0
2015-05-09Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner1-12/+2
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+2
2015-05-02Kernel: Properly initialize and shutdown all modules.bunnei1-4/+7
2015-04-10Kernel: Fixed default thread priority.bunnei1-1/+1
2015-02-12Build: Fixed some warningsSubv1-2/+2
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-2/+2
2015-02-10Scheduler refactor Pt. 1Kevin Hartman1-5/+1
2015-02-03core: Fix some warnings on OSXLioncash1-1/+0
2015-02-02Kernel: Make WaitObjects share ownership of Threads waiting on themYuri Kunde Schlesner1-4/+4
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 Schlesner1-4/+1
2015-02-02Kernel: Introduce unique Object ids for debuggingYuri Kunde Schlesner1-0/+2
2015-01-22Kernel: Renamed some functions for clarity.bunnei1-1/+1
2015-01-22Session: Change to a WaitObject.bunnei1-1/+1
2015-01-22Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.bunnei1-1/+1
2015-01-22AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.bunnei1-1/+1
2015-01-22Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei1-2/+4
2015-01-22WaitSynchronizationN: Implement return valuesbunnei1-2/+2
2015-01-22WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.bunnei1-3/+10
2015-01-22Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei1-0/+26
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner1-13/+10
2015-01-09Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner1-1/+2
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner1-1/+1
2015-01-09Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner1-2/+1
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner1-0/+1
2015-01-09SVC: Implemented the Timer service calls.Subv1-1/+3
2015-01-08Threads: Use a dummy idle thread when no other are ready.Subv1-0/+2
2014-12-28Kernel: New handle managerYuri Kunde Schlesner1-51/+67
2014-12-28Rename ObjectPool to HandleTableYuri Kunde Schlesner1-10/+10
2014-12-21License changepurpasmart961-2/+2
2014-12-18Filesystem/Archives: Implemented the SaveData archiveSubv1-0/+1
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 Schlesner1-1/+1
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner1-4/+4
2014-12-04kernel: Shorten GetCountLioncash1-6/+3
2014-12-04kernel: Make some functions constLioncash1-2/+2
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-3/+3
2014-09-15Core: Get rid of unnecessary switch statement in KernelLioncash1-41/+2
2014-09-09core: Prune redundant includesarchshift1-2/+0
2014-08-19Core: Use std::array for managing kernel object spaceLioncash1-2/+1
2014-08-18Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash1-2/+2
2014-07-05Archive: Added Init/Shutdown methods to reset kernel archive state.bunnei1-0/+3
2014-06-13Kernel: Removed unnecessary "#pragma once".bunnei1-2/+0
2014-06-13Kernel: Added freeing of kernel objects on emulator shutdown.bunnei1-0/+4
2014-06-13HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei1-1/+1
2014-06-05kernel: changed current default thread priority back to 0x30 - I think this is more correctbunnei1-1/+1
2014-06-02kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei1-1/+2
2014-05-23kernel: refactored function naming to remove "__" prefixbunnei1-5/+10
2014-05-21thread: moved threading calls to the Kernel namespacebunnei1-3/+3
2014-05-21- created a Kernel namespacebunnei1-25/+24
2014-05-16changed "UID" to "Handle" to be a little more consistent with CTR namingbunnei1-5/+5
2014-05-15changed primary thread priority to 0x30 - this is typical, not 0x31bunnei1-1/+2
2014-05-14- added __KernelLoadExec functionbunnei1-0/+11
2014-05-10added initial kernel/thread modulesbunnei1-0/+142