Commit Graph

327 Commits

Author SHA1 Message Date
Lioncash 8b8320be4a kernel/kernel: Ensure shutdown threads are always initialized 2022-12-05 15:19:36 -05:00
Liam affd5c32f9 kernel/svc_types: refresh 2022-11-09 19:05:08 -05:00
bunnei 829acd963c Merge pull request #9182 from liamwhite/services-are-processes
kernel: assign KProcess to service threads
2022-11-09 15:52:23 -08:00
Liam 0fc08006e5 service_thread: fix deletion 2022-11-06 19:50:51 -05:00
liamwhite c14f27ee5f Merge pull request #9173 from bunnei/kern-update-15
Kernel: Various updates for FW 15.0.x
2022-11-05 13:25:29 -04:00
Liam c835c254a3 service_thread: register service threads to the logical owner process 2022-11-04 09:18:57 -04:00
Liam ae2bfd082b kernel: avoid racy behavior in global suspension 2022-11-04 09:18:57 -04:00
bunnei e81fcf5795 core: hle: kernel: Integrate system KSystemResource. 2022-11-03 21:17:07 -07:00
bunnei a6e1e61bd6 core: hle: kernel: k_memory_layout: Refresh. 2022-11-03 21:17:07 -07:00
Liam 2a4a371112 kernel: fix single core for service threads 2022-10-31 17:45:46 -04:00
Liam 8f65df7619 kernel: fix port tracking 2022-10-31 17:45:46 -04:00
Liam 2e56a382a9 kernel: invert session request handling flow 2022-10-31 17:44:06 -04:00
Liam ee969900ae core: barrier service thread shutdown 2022-10-23 05:45:45 -04:00
bunnei 3785e8d1c7 core: hle: kernel: Fix InitializePreemption order. 2022-10-18 19:13:35 -07:00
bunnei 55ed04af34 core: hle: kernel: k_process: Improve management of page table & cleanup. 2022-10-18 19:13:35 -07:00
bunnei c164affbcb core: hle: kernel: Remove junk. 2022-10-18 19:13:35 -07:00
bunnei 0eeef46015 core: hle: kernel: Integration application memory block slab manager. 2022-10-18 19:13:34 -07:00
Liam 47fc168030 common: remove "yuzu:" prefix from thread names 2022-10-03 18:43:56 -04:00
Liam 3edb108f4b kernel: unlayer CPU interrupt handling 2022-07-25 12:14:15 -04:00
Morph b8cff68056 Merge pull request #8549 from liamwhite/kscheduler-sc
kernel: use KScheduler from Mesosphere
2022-07-25 12:00:31 -04:00
Kelebek1 be1f5f1d9f Project Andio 2022-07-22 01:11:32 +01:00
Liam 61b26b386d kernel: fix issues with single core mode 2022-07-14 22:47:18 -04:00
Liam e47bced65d kernel: use KScheduler from mesosphere 2022-07-14 22:47:18 -04:00
Kelebek1 f66a68fa1b PR 2022-07-10 08:29:37 +01:00
Kelebek1 03de5e053d Rework CoreTiming 2022-07-10 06:59:40 +01:00
Liam 83f1ecb73b kernel: make current thread pointer thread local 2022-06-23 00:28:00 -04:00
bunnei 3f3f5aa93b Merge pull request #8483 from liamwhite/fire-emblem-three-semaphores
kernel: wait for threads to stop on pause
2022-06-22 14:46:33 -07:00
Liam 808ad9eb9f kernel: wait for threads to stop on pause 2022-06-18 16:54:33 -04:00
Liam 6d5cc6b2a2 kernel: fix some uses of disable_count 2022-06-15 20:53:49 -04:00
Liam 59a6d88625 kernel: implement KProcess suspension 2022-06-14 10:04:11 -04:00
Liam f91e2f2742 kernel: fix passthrough of local captures in lambda 2022-06-13 20:09:32 -04:00
Liam 5772327b39 CpuManager: simplify pausing 2022-06-08 21:47:29 -04:00
Morph 2b87305d31 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.
2022-04-23 05:55:32 -04:00
german77 0a05a333e2 hidbus: Implement hidbus and ringcon 2022-04-16 00:49:21 -05:00
bunnei cd12d87e5b Merge pull request #8165 from bunnei/ensure-session-port-cleanup
Kernel: Track open references to KServerPort and KServerSession.
2022-04-12 14:01:40 -07:00
bunnei 203b812a83 Merge pull request #8157 from lat9nq/kernel-races
kernel: Fix some data races
2022-04-11 21:13:01 -07:00
bunnei 11febb02d6 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.
2022-04-08 14:13:22 -07:00
Merry de61c0897c core/hle: Replace lock_guard with scoped_lock 2022-04-07 19:44:07 +01:00
lat9nq 53d3082dd4 kernel: Fix current_process race
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
2022-04-03 21:47:57 -04:00
bunnei 60f2fe3b48 hle: kernel: Create a default thread for services that do not need their own host thread. 2022-04-02 01:24:30 -04:00
ameerj 22e01068e1 core: Reduce unused includes 2022-03-19 02:23:32 -04:00
bunnei 8b109f8a69 core: hle: kernel: Allocate dummy threads on host thread storage.
- Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
2022-03-14 18:14:54 -07:00
bunnei 18baef2ec9 core: hle: kernel: Downgrade dangling objects warning to debug.
- It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
2022-03-14 18:14:54 -07:00
bunnei 58b39c8ad8 core: hle: kernel: Make object list container global and ensure it is reset on each emulation session. 2022-03-14 18:14:54 -07:00
bunnei 29924a999e 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.
2022-03-14 18:14:54 -07:00
bunnei 4b022badf0 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.
2022-03-14 18:14:54 -07:00
bunnei 82ca8230ad hle: kernel: Re-create memory layout at initialization.
- As this can only be derived once.
2022-02-27 18:00:09 -08:00
bunnei 41c9c93736 hle: kernel: Remove unused pool locals. 2022-02-27 18:00:09 -08:00
bunnei 939707cf75 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.
2022-02-27 18:00:09 -08:00
bunnei f2cc07cc2c core: hle: kernel: Remove resource limit hack for PhysicalMemory.
- With prior changes, we now report the correct amount of physical memory available to the emulated process.
2022-02-21 12:41:31 -08:00