bunnei
864841eb9e
hle: kernel: Do not shutdown twice on emulator close.
5 years ago
bunnei
39a8dba9a6
hle: kernel: Cleanup shutdown of persistent kernel objects.
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
cfa7b92563
hle: kernel: Move slab heaps to their own container.
5 years ago
bunnei
89edbe8aa2
hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.
5 years ago
bunnei
ab704acab8
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
5 years ago
bunnei
722195cf70
hle: kernel: Use unique_ptr for suspend and dummy threads.
5 years ago
bunnei
086db71e94
hle: kernel: Migrate KSharedMemory to KAutoObject.
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
34bed1ab41
hle: kernel: Refactor out various KThread std::shared_ptr usage.
5 years ago
ameerj
2067115c78
k_resource_limit: Minor cleanup of member variables/headers
5 years ago
ameerj
5e85bc3d23
kernel/process: Replace process resource limit instance with the kernel's resource limit
This commit addresses the inaccurate behavior of kernel processes creating their own resource limit, rather than utilizing the kernel's system-wide resource limit instance.
5 years ago
ameerj
24900674b7
kernel: Increase event and session counts
12.x increased the number of available sessions and event resource counts
5 years ago
bunnei
cb7f2e5616
hle: kernel: Initialize preemption task after schedulers.
- Fixes a startup crash that occurs if CoreTiming tries to preempt before kernel initialization completes.
5 years ago
bunnei
10d6e9f32b
hle: kernel: Breakup InitializeMemoryLayout.
5 years ago
bunnei
ab5995c7ae
common: common_sizes: Move sizes to the Common namespace.
5 years ago
bunnei
3ffbe50e7d
hle: kernel: Remove unused variable.
5 years ago
bunnei
343eaecd38
hle: kernel: k_memory_layout: Derive memory regions based on board layout.
5 years ago
bunnei
778e0f8ec1
hle: kernel: Move KMemoryRegion to its own module and update.
5 years ago
bunnei
47af34003b
hle: kernel: KThread: Rework dummy threads & fix memory leak.
- Dummy threads are created on thread local storage for all host threads.
- Fixes a leak by removing creation of fibers, which are not applicable here.
5 years ago
ameerj
8e4c9c9852
kernel: Fix resource release exception on exit
After rewriting the resource limit, objects releasing reserved resources require a live kernel instance.
This commit fixes exceptions that occur due to the kernel being destroyed before some objects released their resources, allowing for a graceful exit.
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
1d162f28d1
hle: kernel: Migrate MemoryLayout to KMemoryLayout.
5 years ago
bunnei
0d62f30b00
hle: kernel: Rename SharedMemory to KSharedMemory.
5 years ago
ameerj
ec9b6641b1
kernel: More accurately reserve and release resources
5 years ago
Chloe
37939482fb
kernel: Unify result codes ( #5890 )
* kernel: Unify result codes
Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways.
* oops
* rename errors to svc_results
5 years ago
Chloe Marcec
2c6e940493
Simplify limitableresource names
5 years ago
Chloe Marcec
3be1a565f8
kernel: Rewrite resource limit to be more accurate
Matches closer to hardware
5 years ago
bunnei
ff46ef7ea3
hle: kernel: threading: Fix bug with host thread naming.
5 years ago
bunnei
6e953f7f02
hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.
5 years ago
bunnei
0a1449e04b
kernel: Fix build errors.
5 years ago
bunnei
cdd14b03e5
hle: kernel: Recode implementation of KThread to be more accurate.
5 years ago
bunnei
1f99f5473c
kernel: k_light_lock: Simplify EmuThreadHandle implementation.
5 years ago
bunnei
0530292b97
hle: kernel: KThread: Fix ThreadType definition.
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
eea346ba8e
hle: kernel: KThread: Remove thread types that do not exist.
5 years ago
bunnei
c0d3aef28c
core: hle: kernel: Rename Thread to KThread.
5 years ago
bunnei
03dfc8d8e7
hle: kernel: thread: Preserve thread wait reason for debugging only.
- This is decoupled from core functionality and used for debugging only.
5 years ago
bunnei
d1309fb275
hle: kernel: Rename thread "status" to "state".
5 years ago
bunnei
c3c43e32fc
hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ThreadState.
- This is how the real kernel works, and is more accurate and simpler.
5 years ago
bunnei
35c3c078e3
core: hle: kernel: Update KSynchronizationObject.
5 years ago
bunnei
a2a0f5318d
hle: kernel: Manage service threads on another thread.
- This is to allow service threads to defer destruction of themselves.
5 years ago
bunnei
c192da3f82
hle: kernel: Manage host thread IDs using TLS.
- Avoids the need to have a large map of host to guest thread IDs.
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
d0649d0971
core: hle: kernel: Clear process list on boot.
5 years ago
bunnei
6d2f9428c5
core: kernel: Clear process list earlier.
5 years ago