Commit graph

224 commits

Author SHA1 Message Date
Liam 45c87c7e6e core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
Liam 8c59543ee3 kernel: update KProcess 2023-10-21 20:03:41 -04:00
Liam fb49ec19c1 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
Liam 8d1f5bfbd2 kernel: remove KLinkedList 2023-03-12 22:06:53 -04:00
Liam c4ba088a5d kernel: refactor priority inheritance to represent locks as C++ objects 2023-03-01 10:42:45 -05:00
Liam a936972614 service: refactor server architecture
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
Liam 1773a1039f kernel: add KObjectName 2023-02-17 09:16:05 -05:00
Liam ceda2d280e general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05:00
bunnei e79270507b core: kernel: k_process: Use application system resource. 2023-02-10 21:03:39 -08:00
Liam 7d1c3a3f59 kernel: add KDeviceAddressSpace 2023-02-01 17:18:21 -05:00
Liam c770f25ccb kernel: remove TimeManager 2022-12-18 20:21:24 -05:00
bunnei 770f23db34
Merge pull request #9182 from liamwhite/services-are-processes
kernel: assign KProcess to service threads
2022-11-09 15:52:23 -08:00
Liam 6a0d8b2aa1 service_thread: fix deletion 2022-11-06 19:50:51 -05:00
liamwhite 4c198bbf06
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 e6fe40428c service_thread: register service threads to the logical owner process 2022-11-04 09:18:57 -04:00
bunnei 32d7faafa8 core: hle: kernel: Integrate system KSystemResource. 2022-11-03 21:17:07 -07:00
Liam 2228383322 kernel: fix port tracking 2022-10-31 17:45:46 -04:00
Liam 983f2b7074 kernel: invert session request handling flow 2022-10-31 17:44:06 -04:00
Liam 3efb8eb2dc kernel: add KSessionRequest 2022-10-19 16:31:12 -04:00
bunnei abcc009dff core: hle: kernel: k_process: Improve management of page table & cleanup. 2022-10-18 19:13:35 -07:00
bunnei 1baedfa12c core: hle: kernel: Integration application memory block slab manager. 2022-10-18 19:13:34 -07:00
Liam a9ace6856d kernel: remove KWritableEvent 2022-10-12 20:29:29 -04:00
Liam 6523854dd6 kernel: unlayer CPU interrupt handling 2022-07-25 12:14:15 -04:00
Kelebek1 458da8a948 Project Andio 2022-07-22 01:11:32 +01:00
Liam 2c56e94702 kernel: make current thread pointer thread local 2022-06-23 00:28:00 -04:00
Liam 888f499188 kernel: implement KProcess suspension 2022-06-14 10:04:11 -04:00
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.
2022-04-23 05:55:32 -04:00
german77 b2359f1527 hidbus: Implement hidbus and ringcon 2022-04-16 00:49:21 -05:00
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.
2022-04-08 14:13:22 -07:00
bunnei 864523327f 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 ade596121b core: Reduce unused includes 2022-03-19 02:23:32 -04:00
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.
2022-03-14 18:14:54 -07:00
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.
2022-03-14 18:14:54 -07:00
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.
2022-02-27 18:00:09 -08:00
bunnei c905044e1b core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager. 2022-01-14 16:44:14 -08:00
bunnei 280c779898
Merge pull request #7462 from bunnei/kernel-improve-scheduling
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
bunnei abbea575cf hle: kernel: Add a flag for indicating that the kernel is currently shutting down. 2021-12-06 16:39:17 -08:00
bunnei 669a2d2c67 core: hle: kernel: Reflect non-emulated threads as core 3. 2021-12-06 16:39:16 -08:00
itsmeft24 8aef8f39d8 kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
Used by Skyline modding framework
2021-12-05 15:04:08 -05:00
Feng Chen a8b0104923 Fix memory leak 2021-10-27 09:06:22 +08:00
Feng Chen 5fbfc4c19e Fix KShareMemory object leak 2021-09-29 09:51:20 +08:00
Morph 6f307f1521 kernel: Add missing <functional> include 2021-09-11 17:19:15 -04:00
bunnei 0c8594b225
Revert "kernel: Various improvements to scheduler" 2021-08-25 20:59:28 -07:00
bunnei 68eee94875 core: hle: kernel: Reflect non-emulated threads as core 3. 2021-08-07 12:18:47 -07:00
bunnei 52caa52cc2 hle: kernel: Track and release server sessions, and protect methods with locks. 2021-07-20 18:54:56 -07:00
bunnei 929994132a hle: kernel: Provide methods for tracking dangling kernel objects. 2021-07-20 18:54:55 -07:00
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.
2021-05-10 20:34:38 -07:00
bunnei b805ee653f hle: kernel: Move slab resource counts to Kernel. 2021-05-05 16:40:54 -07:00
bunnei 4b03e6e776 hle: kernel: Migrate to KHandleTable. 2021-05-05 16:40:53 -07:00
bunnei 2a7eff57a8 hle: kernel: Rename Process to KProcess. 2021-05-05 16:40:52 -07:00