Liam
2c56e94702
kernel: make current thread pointer thread local
4 years ago
Liam
888f499188
kernel: implement KProcess suspension
4 years ago
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
german77
b2359f1527
hidbus: Implement hidbus and ringcon
5 years ago
bunnei
a7f73d606f
hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.
- These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
4 years ago
bunnei
864523327f
hle: kernel: Create a default thread for services that do not need their own host thread.
4 years ago
ameerj
ade596121b
core: Reduce unused includes
4 years ago
bunnei
51589c5e21
core: hle: kernel: Remove server session tracking.
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
4 years ago
bunnei
a25cd4bb4b
core: hle: kernel: Update init_slab_heap, use device memory, and add KThreadLocalPage and KPageBuffer.
- Refreshes our slab initialization code to latest known behavior.
- Moves all guest kernel slabs into emulated device memory.
- Adds KThreadLocalPage and KPageBuffer, which we will use for accurate TLS management.
4 years ago
bunnei
f87f076162
hle: kernel: k_memory_manager: Rework for latest kernel behavior.
- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
4 years ago
bunnei
c905044e1b
core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.
4 years ago
bunnei
abbea575cf
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
4 years ago
bunnei
669a2d2c67
core: hle: kernel: Reflect non-emulated threads as core 3.
4 years ago
itsmeft24
8aef8f39d8
kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
Used by Skyline modding framework
4 years ago
Feng Chen
a8b0104923
Fix memory leak
4 years ago
Feng Chen
5fbfc4c19e
Fix KShareMemory object leak
4 years ago
Morph
6f307f1521
kernel: Add missing <functional> include
4 years ago
bunnei
0c8594b225
Revert "kernel: Various improvements to scheduler"
4 years ago
bunnei
68eee94875
core: hle: kernel: Reflect non-emulated threads as core 3.
4 years ago
bunnei
52caa52cc2
hle: kernel: Track and release server sessions, and protect methods with locks.
5 years ago
bunnei
929994132a
hle: kernel: Provide methods for tracking dangling kernel objects.
5 years ago
bunnei
c6de9657be
hle: kernel: Implement named service ports using service interface factory.
- This allows us to create a new interface each time ConnectToNamedPort is called, removing the assumption that these are static.
5 years ago
bunnei
b805ee653f
hle: kernel: Move slab resource counts to Kernel.
5 years ago
bunnei
4b03e6e776
hle: kernel: Migrate to KHandleTable.
5 years ago
bunnei
2a7eff57a8
hle: kernel: Rename Process to KProcess.
5 years ago
bunnei
bf380b8584
hle: kernel: Remove deprecated Object class.
5 years ago
bunnei
626f746971
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
5 years ago
bunnei
0297448fbc
hle: kernel: Migrate KClientPort to KAutoObject.
5 years ago
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