aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
Commit message (Collapse)AuthorAgeFilesLines
* [common] Switch to boost::unordered_flat containers (#4326)crueter2026-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces all instances of ankerl's unordered map/set with boost's `unordered_flat_*` classes. This uses std::hash since boost::hash is actually a lot slower. Also adds an abstraction layer in `Common` so future changes are quicker and easier. Other implementation details: - ankerl provided hash specializations for tuple and pair, so those were ported here - std::erase_if doesn't work on boost, so just used the ADL'd erase_if This should be about equal or superior performance as unordered_dense for everything except iteration. Signed-off-by: crueter <crueter@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4326 Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [core, hle, video_core, memory] Improve multi-process, display layers, ↵Maufeat2026-08-291-2/+5
| | | | | | | | | | | | | | | | | | | | | dynamic shader cache and rework overlay (#4238) - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- - Dynamic shader cache reloading capability for qlaunch - Multi-process improvements (thanks to @frank1734), instead of just using the main application we now respect caller process (also did it for HID devices while I was at it) - Layer stack masks & shared buffer screenshot for video core, added different masks (screenshot, recording, etc.) this was discovered as an issue due to how in qlaunch the transition was not right between applications. May not be perfect but also fixes screenshots while using qlaunch - Reworked overlay display management (input and visibility) - instead of random numbers as I've previously did, I decided to add an AppletZIndex enum for better readability. Also split capability of input by touch and gamepad. - etc. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4238 Reviewed-by: Samuel <lizzie@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [*] change all std::unordered_map and std::unordered_set into ↵lizzie2026-02-101-2/+2
| | | | | | | | | | | | | | | | | | | ankerl::unordered_dense::map/set variants (#3442) mainly doing this to reduce memory footprint; we all know how nice ankerl::unordered_dense is in theory 4x faster - in practice these maps arent that "hot" anyways so not likely to have much perf gained i just want to reduce mem fragmentation to ease my porting process, plus it helps other platforms as well (ahem weak Mediatek devices) :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3442 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [meta] remove MicroProfile (#185)crueter2025-08-061-6/+3
| | | | | | Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/185 Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* Add cmake option to enable microprofile (#179)Gamer642025-08-021-0/+2
| | | | | | | | | | | | Backported from https://github.com/azahar-emu/azahar/commit/dd9c743041308112c8dc349c5c237c04b2c4c75f. Co-authored-by: PabloMK7 <hackyglitch2@gmail.com> Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev> Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/179 Co-authored-by: Gamer64 <gamer64@eden-emu.dev> Co-committed-by: Gamer64 <gamer64@eden-emu.dev>
* kernel: add and enable system suspend typeLiam2024-02-141-2/+2
|
* kernel: fix debugger and process list lifetimeLiam2024-01-121-2/+4
|
* general: properly support multiple memory instancesLiam2023-12-221-3/+0
|
* kernel: instantiate memory separately for each guest processLiam2023-12-221-4/+0
|
* service: hid: Allow to create multiple instances of shared memoryNarr the Reg2023-12-131-6/+0
|
* core: refactor emulated cpu core activationLiam2023-12-041-7/+0
|
* kernel: update KProcessLiam2023-10-211-3/+0
|
* kernel: use KTypedAddress for addressesLiam2023-03-221-1/+2
|
* kernel: remove KLinkedListLiam2023-03-121-1/+0
|
* kernel: refactor priority inheritance to represent locks as C++ objectsLiam2023-03-011-65/+2
|
* service: refactor server architectureLiam2023-02-211-55/+14
| | | | Converts services to have their own processes
* kernel: add KObjectNameLiam2023-02-171-0/+8
|
* general: rename CurrentProcess to ApplicationProcessLiam2023-02-131-12/+12
|
* core: kernel: k_process: Use application system resource.bunnei2023-02-101-0/+6
|
* kernel: add KDeviceAddressSpaceLiam2023-02-011-0/+4
|
* kernel: remove TimeManagerLiam2022-12-181-6/+3
|
* Merge pull request #9182 from liamwhite/services-are-processesbunnei2022-11-091-1/+1
|\ | | | | kernel: assign KProcess to service threads
| * service_thread: register service threads to the logical owner processLiam2022-11-041-1/+1
| |
* | service_thread: fix deletionLiam2022-11-061-5/+5
| |
* | Merge pull request #9173 from bunnei/kern-update-15liamwhite2022-11-051-5/+18
|\ \ | |/ |/| Kernel: Various updates for FW 15.0.x
| * core: hle: kernel: Integrate system KSystemResource.bunnei2022-11-031-5/+18
| |
* | kernel: fix port trackingLiam2022-10-311-8/+0
| |
* | kernel: invert session request handling flowLiam2022-10-311-0/+9
|/
* kernel: add KSessionRequestLiam2022-10-191-0/+4
|
* core: hle: kernel: k_process: Improve management of page table & cleanup.bunnei2022-10-181-0/+3
|
* core: hle: kernel: Integration application memory block slab manager.bunnei2022-10-181-0/+7
|
* kernel: remove KWritableEventLiam2022-10-121-4/+0
|
* kernel: unlayer CPU interrupt handlingLiam2022-07-251-8/+0
|
* Project AndioKelebek12022-07-221-0/+3
|
* kernel: make current thread pointer thread localLiam2022-06-231-0/+3
|
* kernel: implement KProcess suspensionLiam2022-06-141-3/+8
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* hidbus: Implement hidbus and ringcongerman772022-04-161-0/+6
|
* hle: kernel: Unify and integrate reference tracking for ↵bunnei2022-04-081-0/+8
| | | | | | KServerPort/KServerSession. - These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
* hle: kernel: Create a default thread for services that do not need their own ↵bunnei2022-04-021-3/+13
| | | | host thread.
* core: Reduce unused includesameerj2022-03-191-1/+0
|
* core: hle: kernel: Remove server session tracking.bunnei2022-03-141-8/+0
| | | | - These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
* core: hle: kernel: Update init_slab_heap, use device memory, and add ↵bunnei2022-03-141-6/+8
| | | | | | | | 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.
* hle: kernel: k_memory_manager: Rework for latest kernel behavior.bunnei2022-02-271-0/+4
| | | | | | - Updates the KMemoryManager implementation against latest documentation. - Reworks KMemoryLayout to be accessed throughout the kernel. - Fixes an issue with pool sizes being incorrectly reported.
* core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.bunnei2022-01-141-0/+7
|
* Merge pull request #7462 from bunnei/kernel-improve-schedulingbunnei2021-12-121-0/+5
|\ | | | | Kernel: Improve threading & scheduling V3
| * hle: kernel: Add a flag for indicating that the kernel is currently shutting ↵bunnei2021-12-061-0/+2
| | | | | | | | down.
| * core: hle: kernel: Reflect non-emulated threads as core 3.bunnei2021-12-061-0/+3
| |
* | kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemoryitsmeft242021-12-051-0/+4
|/ | | | Used by Skyline modding framework
* Fix memory leakFeng Chen2021-10-271-0/+8
|