aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
AgeCommit message (Collapse)Author
2021-05-05hle: kernel: Migrate KResourceLimit to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KTransferMemory to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KSession, KClientSession, and KServerSession to ↵bunnei
KAutoObject.
2021-05-05hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.bunnei
2021-05-05hle: kernel: Move slab heaps to their own container.bunnei
2021-05-05hle: kernel: Move slab heap management to KernelCore.bunnei
2021-05-05hle: kernel: Migrate KProcess to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate more of KThread to KAutoObject.bunnei
2021-03-21hle: kernel: k_memory_layout: Derive memory regions based on board layout.bunnei
2021-02-18hle: kernel: Migrate MemoryManager to KMemoryManager.bunnei
2021-02-18hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.bunnei
2021-02-18hle: kernel: Migrate SlabHeap to KSlabHeap.bunnei
2021-02-18hle: kernel: Rename SharedMemory to KSharedMemory.bunnei
2021-01-30kernel: Rewrite resource limit to be more accurateChloe Marcec
Matches closer to hardware
2021-01-28hle: kernel: Allocate a dummy KThread for each host thread, and use it for ↵bunnei
scheduling.
2021-01-28kernel: k_light_lock: Simplify EmuThreadHandle implementation.bunnei
2021-01-28hle: kernel: Move single core "phantom mode" out of KThread.bunnei
- This is a workaround that does not belong in a kernel primitive.
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2021-01-11hle: kernel: Remove unnecessary AddressArbiter definition.bunnei
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei
2020-12-29hle: kernel: Move ServiceThread ownership to KernelCore.bunnei
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei
2020-07-16kernel: Add missing includeLioncash
2020-06-27General: Cleanup legacy code.Fernando Sahmkow
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which ↵Fernando Sahmkow
threads were running.
2020-06-27Kernel: Preempt Single core on redudant yields.Fernando Sahmkow
2020-06-27General: Initial Setup for Single Core.Fernando Sahmkow
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
2020-04-17kernel: Initialize memory layout for new VMM.bunnei
2020-02-22Kernel: Address Feedback.Fernando Sahmkow
2020-02-22Kernel: Implement Time Manager.Fernando Sahmkow
2020-02-22Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow
2020-02-22Kernel: Make global scheduler depend on KernelCoreFernando Sahmkow
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow
2020-01-27System: Address FeedbackFernando Sahmkow
2020-01-25Core: Refactor CPU Management.Fernando Sahmkow
This commit moves ARM Interface and Scheduler handling into the kernel.
2019-12-07kernel: Remove unnecessary includesLioncash
Over the course of the changes to the kernel code, a few includes are no longer necessary, particularly with the change over to std::shared_ptr from Boost's intrusive_ptr.
2019-11-26core_timing: Use better reference tracking for EventType. (#3159)bunnei
* core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
kernel objects. (#3154) * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-10-15Kernel: Reverse global accessor removal.Fernando Sahmkow
2019-10-15Kernel: Address Feedback.Fernando Sahmkow
2019-10-15Kernel: Remove global system accessor from WaitObjectFernando Sahmkow
2019-10-15Add interfacing to the Global SchedulerFernando Sahmkow
2019-06-10kernel: Differentiate kernel and user processes when picking IDZach Hilman
This allows kernel internal type processes to be assigned IDs in the KIP range while userland processes are assigned in the user range.
2019-04-02kernel/svc: Implement svcGetProcessListLioncash
This service function simply copies out a specified number of kernel process IDs, while simultaneously reporting the total number of processes.
2019-03-24kernel/kernel: Remove unnecessary forward declarationLioncash
This is no longer necessary, as ResultVal isn't used anywhere in the header.
2019-03-07kernel: Make the address arbiter instance per-processLioncash
Now that we have the address arbiter extracted to its own class, we can fix an innaccuracy with the kernel. Said inaccuracy being that there isn't only one address arbiter. Each process instance contains its own AddressArbiter instance in the actual kernel. This fixes that and gets rid of another long-standing issue that could arise when attempting to create more than one process.