aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/glue/arp.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[hle] constexpr handler dispatch maps, introduce version gating ↵PavelBARABANOV2026-10-151-9/+35
| | | | | | | | | | | | | | | | | (#4480)" (#4532) This reverts commit 218c6705d950635bc18f8458d738a1996fb592b6. - [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/4532 Reviewed-by: lizzie <lizzie@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [hle] constexpr handler dispatch maps, introduce version gating (#4480)lizzie2026-10-131-35/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR primarily focuses on upbringing constexpr maps for handlers. Each time an HLE object of a service is construed, it registers it's own handlers, over and over. Regardless of whetever it needs them at the moment or not. Additionally we don't require to keep track of different function pointers amongst each object. This can be done by overriding the given function instead, as opposed to having a separate hash map for every given object. In other words: Remove handlers (and handlers_tipc) map for every instance then read from a static defined per-class. - [x] Migrate all HLE functions to new `frozen::map` constexpr time finder - [ ] Measure if this approach actually makes better codegen Optional: - [x] Properly gate all functions (that have versions commented next to them) - [x] Maybe store `HandlerFnP<>` and `const char*` separately, version gating can go in a different map as well Information such as name can be used on debug builds, but doesn't particularly help on release as one can consult an external reference (or have an annotated IPC map) Signed-off-by: lizzie <lizzie@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. ------------------- Co-authored-by: Maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4480 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [hle] Enforce max_sessions, add bpc:ams service (#4394)lizzie2026-09-111-20/+15
| | | | | | | | | | | | | | | | | | As per switchbrew, as per atmosphere, and some poking around. bpc:ams stubbed for now. Signed-off-by: lizzie <lizzie@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/4394 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [hle] remove parent object reference data on Request/Response builders, pass ↵lizzie2026-06-291-1/+1
| | | | | | | | | | | | | | | | by argument (#3774) anyways this should remove a bunch of redundant code/stack usage for response builders (ahem, msvc) SHOULD help games that use IPC heavily like PKZA and whatnot biblical levels of performance greed Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3774 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [common/logging] Simplify logging logic and fix issues when logging before ↵lizzie2026-03-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | system is created (#3688) - our logging code was bigger than spdlog itself, why???? just keep it simple - fix issues when logging before logging system is even started - removes the "initialized logging twice" issue - removes uneeded indirection in file logging - uses direct formatting instead of jumping hoopla-around the fmt::format() ressult - code duplication and dead code removal as usual I did explore dup2() but I think it's not worth the hassle I did try `fwopen()` but it's better if things are just kept as-is. there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <chimera@dravee.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* kernel: fix debugger and process list lifetimeLiam2024-01-121-3/+4
|
* core: remove ResultVal typeLiam2023-08-081-16/+20
|
* kernel: convert KProcess to new styleLiam2023-03-121-2/+2
|
* hle: rename legacy errors to ResultsLiam2023-03-061-9/+9
|
* service: move hle_ipc from kernelLiam2023-03-011-10/+10
|
* Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"ameerj2023-02-031-1/+2
| | | | | This reverts commit 153fa289d219c37f8344bccfdf67edc6e579d8c8, reversing changes made to 20676b3b5a1a613af4e498c7cbfdc456339d85a0.
* Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ↵liamwhite2023-02-021-2/+1
| | | | ReadBuffer"
* hle_ipc: Rename ReadBuffer to ReadBufferCopyameerj2022-12-281-1/+2
| | | | Indicates explicitly that a copy is occurring
* core: Replace all instances of ResultCode with Resultgerman772022-06-261-1/+1
|
* 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.
* general: Rename GetTitleID to GetProgramIDMorph2021-11-041-1/+1
|
* core: Remove unused includesameerj2021-11-031-1/+0
|
* service: Reduce header include overheadMorph2021-10-071-2/+0
|
* service: Append service name prefix to common filenamesMorph2021-07-141-1/+1
|
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-021-8/+8
| | | | Transition to PascalCase for result names.
* hle: kernel: Rename Process to KProcess.bunnei2021-05-051-1/+1
|
* arp: Use type alias for issue functionLioncash2021-04-191-4/+4
| | | | Reduces some verbosity and centralizes the function details in one spot.
* arp: Prevent uninitialized read of launch member variableLioncash2021-04-191-1/+1
| | | | | | | | | If anything happened to call arp functions in the wrong order and called IRegistrar's Issue function before SetApplicationLaunchProperty, we'd read from an uninitialized ApplicationLaunchProperty instance. Instead, we can always initialize it so if this does happen, then the outcome of doing such a thing is at least consistently reproducible.
* arp: Use proper names, update to 12.xgerman772021-04-081-2/+9
|
* service: Eliminate usages of the global system instanceLioncash2020-11-261-6/+7
| | | | | Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
* ipc_helpers: Remove usage of the global system instanceLioncash2020-11-081-0/+1
| | | | | | | | | Resolves numerous deprecation warnings throughout the codebase due to inclusion of this header. Now building core should be significantly less noisy (and also relying on less global state). This also uncovered quite a few modules that were relying on indirect includes, which have also been fixed.
* glue: Correct missing bytes in ApplicationLaunchParameterZach Hilman2019-06-251-9/+21
|
* glue: Implement arp:w and arp:r servicesZach Hilman2019-06-241-0/+285
These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID.