aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/ns/ns.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[hle] constexpr handler dispatch maps, introduce version gating ↵PavelBARABANOV2026-10-151-32/+31
| | | | | | | | | | | | | | | | | (#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-31/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-9/+9
| | | | | | | | | | | | | | | | | | 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] correct IClientProcess::RegisterClient, impl cmd 3100,3102 for ns:vm ↵lizzie2026-09-091-1/+40
| | | | | | | | | | | | | | | | | | | (#4376) ldn had wrong signature ns:vm had missing function stubs that would make some games assert on missing impl 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/4376 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [hle/service] stub missing homebrew services, fix NPad/caps crashes (#4264)lizzie2026-08-181-18/+37
| | | | | | | | | | | | | | | | | | 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. ------------------- this PR adds various missing services (acc:e, acc:e:u1) to expand homebrew compatibility notably this also fixes NPad related crashes due to nullref Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4264 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* ns: rewrite IQueryServiceLiam2024-02-181-2/+2
|
* ns: rewrite IServiceGetterInterfaceLiam2024-02-181-82/+13
|
* ns: rewrite IApplicationManagerInterfaceLiam2024-02-181-439/+26
|
* ns: move IDevelopInterfaceLiam2024-02-181-32/+2
|
* ns: rewrite ISystemUpdateInterfaceLiam2024-02-181-39/+2
|
* ns: move ISystemUpdateControlLiam2024-02-181-36/+1
|
* ns: rewrite IVulnerabilityManagerInterfaceLiam2024-02-181-25/+3
|
* ns: rewrite IReadOnlyApplicationControlDataInterfaceLiam2024-02-181-45/+1
|
* ns: rewrite IReadOnlyApplicationRecordInterfaceLiam2024-02-181-34/+1
|
* ns: add IDynamicRightsInterfaceLiam2024-02-181-1/+2
|
* ns: rewrite IDownloadTaskInterfaceLiam2024-02-181-21/+1
|
* ns: rewrite IDocumentInterfaceLiam2024-02-181-41/+1
|
* ns: rewrite IContentManagementInterfaceLiam2024-02-181-42/+1
|
* ns: move IFactoryResetInterfaceLiam2024-02-181-19/+1
|
* ns: move IECommerceInterfaceLiam2024-02-181-19/+1
|
* ns: move IApplicationVersionInterfaceLiam2024-02-181-25/+1
|
* ns: move IAccountProxyInterfaceLiam2024-02-181-13/+1
|
* ns: rewrite IPlatformServiceManagerLiam2024-02-181-1/+1
|
* ns: rename results headerLiam2024-02-181-1/+1
|
* core: support offline web appletLiam2024-01-291-3/+64
|
* vfs: Move vfs files to their own directoryFearlessTobi2024-01-251-1/+1
|
* service: set: Rename filesgerman772024-01-061-1/+1
|
* service: caps: Partially implement IAlbumAccessorServiceNarr the Reg2023-10-021-2/+25
|
* core: remove ResultVal typeLiam2023-08-081-18/+23
|
* configure_system: Implement with for looplat9nq2023-07-211-1/+1
|
* hle: rename legacy errors to ResultsLiam2023-03-061-4/+4
|
* service: move hle_ipc from kernelLiam2023-03-011-8/+7
|
* Merge pull request #9832 from liamwhite/hle-mpliamwhite2023-03-011-17/+21
|\ | | | | service: HLE multiprocess
| * service: refactor server architectureLiam2023-02-211-17/+21
| | | | | | | | Converts services to have their own processes
* | core: Update service function tables to 16.0.0+Narr the Reg2023-02-241-2/+10
|/
* general: preliminary support for hblLiam2022-10-111-1/+29
|
* core: ns: Implement pl:s serviceNarr the Reg2022-09-031-2/+3
|
* 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.
* service/ns: Update function tablesLioncash2022-01-211-0/+6
|
* core/ns: Implement GetReadOnlyApplicationControlDataInterfaceNarr the Reg2021-11-271-1/+19
| | | | Used in checkpoint homebrew
* core/pdm: Stub QueryPlayStatisticsByApplicationIdAndUserAccountIdNarr the Reg2021-11-271-0/+3
| | | | Used in checkpoint homebrew
* general: Remove MakeResult helpersMorph2021-11-021-2/+2
| | | | This is made obsolete by the presence of implicit constructors.
* service: Reduce header include overheadMorph2021-10-071-1/+0
|
* general: Replace RESULT_UNKNOWN with ResultUnknownMorph2021-06-021-2/+2
| | | | Transition to PascalCase for result names.
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-021-5/+5
| | | | Transition to PascalCase for result names.
* common: Move settings to common from core.bunnei2021-04-141-1/+1
| | | | - Removes a dependency on core and input_common from common.
* ns: Update to 12.xMorph2021-04-091-3/+38
|
* ns_vm: Stub NeedsUpdateVulnerabilityMorph2020-12-181-1/+10
| | | | This is used to force system updates on launching the web browser. We do not care about system updates so this can be set to false.
* service: Eliminate usages of the global system instanceLioncash2020-11-261-20/+25
| | | | | Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
* patch_manager: Remove usages of the global system instanceLioncash2020-11-181-11/+13
| | | | | | | With this, only 19 usages of the global system instance remain within the core library. We're almost there.