aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/btm/btm.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[hle] constexpr handler dispatch maps, introduce version gating ↵PavelBARABANOV2026-10-151-400/+97
| | | | | | | | | | | | | | | | | (#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-98/+401
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] stubbed extra services from (parental controls and stuff) fw21 (#3175)Maufeat2025-12-181-25/+30
| | | | | | | | | | | | | | Adds more Firmware 20+ related service commands. Renames existing service commands according to switchbrew docs, Unstubs new parental service stuff. Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3175 Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-by: Lizzie <lizzie@eden-emu.dev> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
* service: btm: Migrate service to new IPCNarr the Reg2024-02-161-263/+9
|
* service: set: Implement more settings functions for QlaunchNarr the Reg2024-01-251-1/+8
|
* Implemented qlaunch version of the controller appletFrozenAra2023-11-191-8/+48
|
* service: move hle_ipc from kernelLiam2023-03-011-7/+7
|
* Merge pull request #9832 from liamwhite/hle-mpliamwhite2023-03-011-5/+9
|\ | | | | service: HLE multiprocess
| * service: refactor server architectureLiam2023-02-211-5/+9
| | | | | | | | Converts services to have their own processes
* | service: btm: Fix handle functionsNarr the Reg2023-02-271-4/+8
|/
* service: btdrv,bcat,btm: Update service tables to 14.0.0german772022-07-141-2/+6
|
* 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/btm: Update function tablesLioncash2022-01-211-0/+30
|
* core: Remove unused includesameerj2021-11-031-1/+0
|
* service: Reduce header include overheadMorph2021-10-071-1/+0
|
* service: Replace service event creation with ServiceContext::CreateEventMorph2021-10-011-20/+22
| | | | The service context helps to manage all created events and allows us to close them upon destruction.
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-021-6/+6
| | | | Transition to PascalCase for result names.
* hle: kernel: Ensure all kernel objects with KAutoObject are properly created.bunnei2021-05-051-0/+5
|
* hle: kernel: Migrate KEvent to KAutoObject.bunnei2021-05-051-18/+16
|
* btm: Update to 12.xMorph2021-04-091-0/+1
|
* hle: kernel: Reimplement KReadableEvent and KWritableEvent.bunnei2021-02-051-15/+17
|
* hle: kernel: Rename WritableEvent to KWritableEvent.bunnei2021-02-051-5/+5
|
* hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei2021-02-051-1/+1
|
* service: Eliminate usages of the global system instanceLioncash2020-11-261-12/+10
| | | | | 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.
* btm: Give better names for unknown functionsDavid Marcec2020-06-271-5/+5
|
* btm: Update function tablesVolcaEM2020-06-271-71/+76
| | | | | This was based on Switchbrew page: https://switchbrew.org/wiki/BTM_services "No comment" edition
* kernel: events: Remove ResetType::Automatic.bunnei2019-11-031-8/+6
| | | | | | | | - This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp
* Deglobalize System: BtmDavid Marcec2019-09-221-6/+8
|
* core/kernel/object: Rename ResetType enum membersLioncash2019-05-181-4/+4
| | | | | | | | | | | | | Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
* service/btm: Update function tablesLioncash2019-01-291-55/+97
| | | | Updates function tables based off information provided by SwitchBrew
* kernel/event: Reference ReadableEvent from WritableEventZach Hilman2018-11-291-26/+17
|
* core: Port all current usages of Event to Readable/WritableEventZach Hilman2018-11-291-21/+34
|
* Changed logging to be "Log before execution", Added more error logging, all ↵David Marcec2018-11-261-7/+12
| | | | services should now log on some level
* Added various bluetooth based cmds for palmaDavid Marcec2018-11-171-1/+107
| | | | It seems palma is done through bluetooth, we need this for pokemon go however more research needs to be done when we actually get palma working. This is presumably used for transfering data between the controller and the console, it does not seem for actual input as far as I know.
* service/btm: Add basic implementation of GetCoreImpl()Lioncash2018-07-281-1/+35
| | | | Based off information on SwIPC and Switch Brew.
* service: Add btm servicesLioncash2018-07-281-0/+87
Adds the skeleton for the btm services based off the information on Switch Brew.