| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-05-05 | hle: kernel: Migrate KProcess to KAutoObject. | bunnei | |
| 2021-05-05 | hle: kernel: Migrate more of KThread to KAutoObject. | bunnei | |
| 2021-03-21 | hle: kernel: k_memory_layout: Derive memory regions based on board layout. | bunnei | |
| 2021-02-18 | hle: kernel: Migrate MemoryManager to KMemoryManager. | bunnei | |
| 2021-02-18 | hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others. | bunnei | |
| 2021-02-18 | hle: kernel: Migrate SlabHeap to KSlabHeap. | bunnei | |
| 2021-02-18 | hle: kernel: Rename SharedMemory to KSharedMemory. | bunnei | |
| 2021-01-30 | kernel: Rewrite resource limit to be more accurate | Chloe Marcec | |
| Matches closer to hardware | |||
| 2021-01-28 | hle: kernel: Allocate a dummy KThread for each host thread, and use it for ↵ | bunnei | |
| scheduling. | |||
| 2021-01-28 | kernel: k_light_lock: Simplify EmuThreadHandle implementation. | bunnei | |
| 2021-01-28 | hle: kernel: Move single core "phantom mode" out of KThread. | bunnei | |
| - This is a workaround that does not belong in a kernel primitive. | |||
| 2021-01-28 | core: hle: kernel: Rename Thread to KThread. | bunnei | |
| 2021-01-11 | hle: kernel: Remove unnecessary AddressArbiter definition. | bunnei | |
| 2021-01-11 | core: hle: kernel: Update KSynchronizationObject. | bunnei | |
| 2020-12-29 | hle: kernel: Move ServiceThread ownership to KernelCore. | bunnei | |
| - Fixes a circular dependency which prevented threads from being released on shutdown. | |||
| 2020-12-06 | hle: kernel: Rewrite scheduler implementation based on Mesopshere. | bunnei | |
| 2020-11-29 | core: arm: Implement InvalidateCacheRange for CPU cache invalidation. | bunnei | |
| 2020-11-29 | hle: kernel: multicore: Replace n-JITs impl. with 4 JITs. | bunnei | |
| 2020-07-16 | kernel: Add missing include | Lioncash | |
| 2020-06-27 | General: Cleanup legacy code. | Fernando Sahmkow | |
| 2020-06-27 | General: Move ARM_Interface into Threads. | Fernando Sahmkow | |
| 2020-06-27 | General: Fix microprofile on dynarmic/svc, fix wait tree showing which ↵ | Fernando Sahmkow | |
| threads were running. | |||
| 2020-06-27 | Kernel: Preempt Single core on redudant yields. | Fernando Sahmkow | |
| 2020-06-27 | General: Initial Setup for Single Core. | Fernando Sahmkow | |
| 2020-06-27 | General: 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-17 | kernel: Initialize memory layout for new VMM. | bunnei | |
| 2020-02-22 | Kernel: Address Feedback. | Fernando Sahmkow | |
| 2020-02-22 | Kernel: Implement Time Manager. | Fernando Sahmkow | |
| 2020-02-22 | Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel. | Fernando Sahmkow | |
| 2020-02-22 | Kernel: Make global scheduler depend on KernelCore | Fernando Sahmkow | |
| 2020-02-11 | Kernel: Refactor synchronization to better match RE | Fernando Sahmkow | |
| 2020-01-27 | System: Address Feedback | Fernando Sahmkow | |
| 2020-01-25 | Core: Refactor CPU Management. | Fernando Sahmkow | |
| This commit moves ARM Interface and Scheduler handling into the kernel. | |||
| 2019-12-07 | kernel: Remove unnecessary includes | Lioncash | |
| 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-26 | core_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-24 | kernel: 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-15 | Kernel: Reverse global accessor removal. | Fernando Sahmkow | |
| 2019-10-15 | Kernel: Address Feedback. | Fernando Sahmkow | |
| 2019-10-15 | Kernel: Remove global system accessor from WaitObject | Fernando Sahmkow | |
| 2019-10-15 | Add interfacing to the Global Scheduler | Fernando Sahmkow | |
| 2019-06-10 | kernel: Differentiate kernel and user processes when picking ID | Zach 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-02 | kernel/svc: Implement svcGetProcessList | Lioncash | |
| This service function simply copies out a specified number of kernel process IDs, while simultaneously reporting the total number of processes. | |||
| 2019-03-24 | kernel/kernel: Remove unnecessary forward declaration | Lioncash | |
| This is no longer necessary, as ResultVal isn't used anywhere in the header. | |||
| 2019-03-07 | kernel: Make the address arbiter instance per-process | Lioncash | |
| 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. | |||
| 2019-03-05 | kernel/address_arbiter: Pass in system instance to constructor | Lioncash | |
| Allows getting rid of reliance on the global accessor functions and instead operating on the provided system instance. | |||
| 2019-03-05 | kernel/address_arbiter: Convert the address arbiter into a class | Lioncash | |
| Places all of the functions for address arbiter operation into a class. This will be necessary for future deglobalizing efforts related to both the memory and system itself. | |||
| 2019-02-15 | core_timing: Convert core timing into a class | Lioncash | |
| Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces. | |||
| 2019-02-12 | core_timing: Rename CoreTiming namespace to Core::Timing | Lioncash | |
| Places all of the timing-related functionality under the existing Core namespace to keep things consistent, rather than having the timing utilities sitting in its own completely separate namespace. | |||
| 2019-01-31 | kernel: Remove the Timer class | Lioncash | |
| A holdover from citra, the Horizon kernel on the switch has no prominent kernel object that functions as a timer. At least not to the degree of sophistication that this class provided. As such, this can be removed entirely. This class also wasn't used at all in any meaningful way within the core, so this was just code sitting around doing nothing. This also allows removing a few things from the main KernelCore class that allows it to use slightly less resources overall (though very minor and not anything really noticeable). | |||
| 2018-12-18 | kernel/thread: Make thread_id a 64-bit value | Lioncash | |
| The kernel uses a 64-bit value for the thread ID, so we shouldn't be using a 32-bit value. | |||
