Commit Graph

222 Commits

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