bunnei
b57c5a9b54
hle: kernel: Migrate KResourceLimit to KAutoObject.
5 years ago
bunnei
c7d8b7421c
hle: kernel: Migrate KTransferMemory to KAutoObject.
5 years ago
bunnei
7444963bbb
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
5 years ago
bunnei
2e8d6fe9a0
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
5 years ago
bunnei
cfa7b92563
hle: kernel: Move slab heaps to their own container.
5 years ago
bunnei
b6156e735c
hle: kernel: Move slab heap management to KernelCore.
5 years ago
bunnei
7ccbdd4d8d
hle: kernel: Migrate KProcess to KAutoObject.
5 years ago
bunnei
da7e9553de
hle: kernel: Migrate more of KThread to KAutoObject.
5 years ago
bunnei
343eaecd38
hle: kernel: k_memory_layout: Derive memory regions based on board layout.
5 years ago
bunnei
b1e27890e8
hle: kernel: Migrate MemoryManager to KMemoryManager.
5 years ago
bunnei
65e0178cc0
hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.
5 years ago
bunnei
9e520e8f12
hle: kernel: Migrate SlabHeap to KSlabHeap.
5 years ago
bunnei
0d62f30b00
hle: kernel: Rename SharedMemory to KSharedMemory.
5 years ago
Chloe Marcec
3be1a565f8
kernel: Rewrite resource limit to be more accurate
Matches closer to hardware
5 years ago
bunnei
6e953f7f02
hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.
5 years ago
bunnei
1f99f5473c
kernel: k_light_lock: Simplify EmuThreadHandle implementation.
5 years ago
bunnei
4782985013
hle: kernel: Move single core "phantom mode" out of KThread.
- This is a workaround that does not belong in a kernel primitive.
5 years ago
bunnei
c0d3aef28c
core: hle: kernel: Rename Thread to KThread.
5 years ago
bunnei
8a155c4058
hle: kernel: Remove unnecessary AddressArbiter definition.
5 years ago
bunnei
35c3c078e3
core: hle: kernel: Update KSynchronizationObject.
5 years ago
bunnei
dfdac7d38a
hle: kernel: Move ServiceThread ownership to KernelCore.
- Fixes a circular dependency which prevented threads from being released on shutdown.
5 years ago
bunnei
9e29e36a78
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
5 years ago
bunnei
63fd1bb503
core: arm: Implement InvalidateCacheRange for CPU cache invalidation.
5 years ago
bunnei
7b642c7781
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
5 years ago
Lioncash
07d080ecc8
kernel: Add missing include
6 years ago
Fernando Sahmkow
48fa3b7a0f
General: Cleanup legacy code.
6 years ago
Fernando Sahmkow
1567824d2d
General: Move ARM_Interface into Threads.
6 years ago
Fernando Sahmkow
7020d498c5
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
6 years ago
Fernando Sahmkow
d494b074e8
Kernel: Preempt Single core on redudant yields.
6 years ago
Fernando Sahmkow
ab9aae28bf
General: Initial Setup for Single Core.
6 years ago
Fernando Sahmkow
e31425df38
General: Recover Prometheus project from harddrive failure
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.
6 years ago
bunnei
8f75524e55
kernel: Initialize memory layout for new VMM.
6 years ago
Fernando Sahmkow
d219a96cc8
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
5c90d22f3d
Kernel: Implement Time Manager.
6 years ago
Fernando Sahmkow
179bafa7cb
Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.
6 years ago
Fernando Sahmkow
0728dfef84
Kernel: Make global scheduler depend on KernelCore
6 years ago
Fernando Sahmkow
d23d504d77
Kernel: Refactor synchronization to better match RE
6 years ago
Fernando Sahmkow
2d1984c20c
System: Address Feedback
6 years ago
Fernando Sahmkow
4d6a86b03f
Core: Refactor CPU Management.
This commit moves ARM Interface and Scheduler handling into the kernel.
6 years ago
Lioncash
c3e43c7e81
kernel: Remove unnecessary includes
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.
6 years ago
bunnei
ec0ce96c56
core_timing: Use better reference tracking for EventType. ( #3159 )
* 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.
6 years ago
bunnei
9046d4a548
kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for 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.
6 years ago
Fernando Sahmkow
c32520ceb7
Kernel: Reverse global accessor removal.
6 years ago
Fernando Sahmkow
3073615dbc
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
e05a8c2385
Kernel: Remove global system accessor from WaitObject
7 years ago
Fernando Sahmkow
57a71f899a
Add interfacing to the Global Scheduler
7 years ago
Zach Hilman
fc0bf91a96
kernel: Differentiate kernel and user processes when picking ID
This allows kernel internal type processes to be assigned IDs in the KIP range while userland processes are assigned in the user range.
7 years ago
Lioncash
cb2bce8006
kernel/svc: Implement svcGetProcessList
This service function simply copies out a specified number of kernel
process IDs, while simultaneously reporting the total number of
processes.
7 years ago
Lioncash
bd7ec1a749
kernel/kernel: Remove unnecessary forward declaration
This is no longer necessary, as ResultVal isn't used anywhere in the
header.
7 years ago
Lioncash
8e510d5afa
kernel: Make the address arbiter instance per-process
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.
7 years ago