PavelBARABANOV
e255c20db4
Revert "[hle] constexpr handler dispatch maps, introduce version gating ( #4480 )" ( #4532 )
...
This reverts commit 218c6705d9 .
- [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 >
2026-10-15 08:45:15 +02:00
lizzie
218c6705d9
[hle] constexpr handler dispatch maps, introduce version gating ( #4480 )
...
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 >
2026-10-13 04:38:36 +02:00
lizzie
1b482fa99b
[hle] remove parent object reference data on Request/Response builders, pass 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 >
2026-06-29 08:11:12 +02:00
lizzie
3aa0d46259
[video_core, hle] remove redundant parent references in system structs ( #3908 )
...
reworked a bit to remove references of parent objects and instead pass as arguments to methods to prevent useless reloads
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Co-authored-by: maufeat <sahyno1996@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3908
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
2026-06-23 06:31:25 +02:00
lizzie
395613b01f
[common/logging] Simplify logging logic and fix issues when logging before 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 >
2026-03-12 18:29:15 +01:00
lizzie
0a687b82d4
[crypto] Atomize all traces of MbedTLS, and require OpenSSL 3+ ( #3606 )
...
Closes #3137
Closes #3465
- Replace all mbedtls usage with OpenSSL
- require OpenSSL
- Up OpenSSL version to 3, cuz that's what we actually need...
CAVEATS:
- httplib also now required
- other ssl backends for svc are unused, maybe remove later
* To be fair, our CI never used them anyways. And we never tested those
TESTERS PLEASE TEST:
- All games and applets boot
- Boot, load, exit, etc. times
Co-authored-by: crueter <crueter@eden-emu.dev >
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3606
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: DraVee <dravee@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-02-23 02:50:13 +01:00
Gamer64
bb94cff886
[chore] Fixed a couple memory leaks using up ~15 MB each iteration ( #398 )
...
Co-authored-by: Jarrod Norwell <official.antique@gmail.com >
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com >
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/398
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: Gamer64 <gamer64@eden-emu.dev >
Co-committed-by: Gamer64 <gamer64@eden-emu.dev >
2025-12-26 02:55:52 +01:00
lizzie
191e4c75a1
[meta] fix license headers ( #2547 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-21 21:58:59 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
...
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: crueter <crueter@crueter.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-09 20:47:49 +02:00
swurl
f786802b9b
User Data Migration from Citron, Sudachi, and Yuzu ( #91 )
...
Includes citron, sudachi, yuzu
currently broken, because the eden dir is always made early?
Signed-off-by: swurl <swurl@swurl.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/91
Co-authored-by: swurl <swurl@swurl.xyz >
Co-committed-by: swurl <swurl@swurl.xyz >
2025-05-08 22:16:07 +00:00
crueter
9cef9f5dce
Update fmt to allow for v11
...
Signed-off-by: swurl <swurl@swurl.xyz >
2025-04-10 01:11:22 +02:00
Narr the Reg
ba58902d76
service: nfc: Implement SetNfcEnabled
2024-02-23 18:58:50 -06:00
Kelebek1
05afa94a3b
Move time services to new IPC.
...
Add some fixes/improvements to usage with the new IPC
2024-01-27 03:30:09 +00:00
FearlessTobi
3b98aaef24
result: Make fully constexpr, add ON_RESULT_INCLUDED
2024-01-25 16:42:06 -05:00
Kelebek1
52c35521bd
Rework time service to fix time passing offline.
2024-01-24 04:26:55 +00:00
Narr the Reg
682d36b368
service: nfc: Create backup when none exist
2024-01-15 14:07:54 -06:00
Viktor Szépe
cff668e1c4
Fix typos in src/core ( #12625 )
...
* Fix typos in src/core
* Fix typo correction
* Fix indentation of MemoryStateNames
* Fix indent
2024-01-08 13:31:48 -06:00
Narr the Reg
146975c880
hid_core: Move hid to it's own subproject
2024-01-05 11:41:15 -06:00
Narr the Reg
919d2ba033
service: nfc: Don't tag amiibos as corrupted if they are loaded as read only
2023-12-01 14:21:55 -06:00
german77
95e03e4901
service: nfc: Validate mii data
2023-11-25 23:40:01 -06:00
Narr the Reg
5f6b4418df
service: hid: Create appropriate hid resources
2023-11-20 17:19:17 -06:00
Narr the Reg
9e23ac140d
service: nfc: Implement SetRegisterInfoPrivate mii support
2023-10-01 11:38:30 -06:00
german77
24eb40cb70
service: mii: Fix reported bugs
2023-09-27 23:34:03 -06:00
german77
da7883dbc5
service: nfc: Fully Implement GetRegisterInfoPrivate
2023-09-17 16:06:25 -06:00
german77
3bca24616a
service: nfc: Fix amiibo formatting
2023-09-15 22:02:57 -06:00
german77
6377a46668
mii: Prepare Interface for new implementation
2023-09-11 00:58:46 -06:00
german77
f1d7f23049
service: mii: Fix ver3 inconsistencies
2023-09-11 00:23:46 -06:00
german77
15619d2052
service: mii: Move ver3 operations
2023-09-10 22:42:38 -06:00
german77
e51d54de30
service: mii: separate mii types into their own file
2023-09-10 22:18:25 -06:00
Narr the Reg
9fc8535c6a
service: mii: Fix broken mii on MK8
2023-09-07 11:46:12 -06:00
Narr the Reg
2aab79426a
service: nfc: Update Implementation to match with latest RE
2023-07-17 11:24:23 -06:00
german77
a4c3c3bc2e
service: nfc: Ensure controller is in the correct mode
2023-07-02 19:21:16 -06:00
Narr the Reg
b24451c571
input_common: Implement native mifare support
2023-06-21 17:54:58 -06:00
Narr the Reg
6ae2249f88
service: nfc: Read tag protocol only for nfc backend
2023-06-14 18:16:23 -06:00
Narr the Reg
05fcd73843
service: nfc: Accuracy fixes
2023-06-14 18:08:35 -06:00
german77
4255ac45d1
service: nfc: Add backup support
2023-06-06 17:06:21 -06:00
bunnei
39fcbfead6
Merge pull request #10396 from german77/amiibo_write
...
input_common: Implement amiibo writing
2023-05-25 14:07:16 -07:00
Narr the Reg
6a217dd7a5
service: nfc: Remove encryption key requirement
2023-05-22 18:42:09 -06:00
Narr the Reg
60ba48c5e2
input_common: Implement amiibo writting
2023-05-21 21:09:20 -06:00
Narr the Reg
cc610d369c
service: nfc: Seed all random values
2023-05-09 17:54:07 -06:00
german77
e43d1c20d5
service: nfp: Allow to load with a different amiibo id
2023-05-09 17:51:59 -06:00
Narr the Reg
2a36d667c9
service: nfc: Merge device interfaces and create the device manager
2023-05-05 22:02:59 -06:00
Narr the Reg
f8d2ab4660
service: nfc: Create mifare interface
2023-04-23 23:28:09 -06:00
Narr the Reg
db242ac13f
service: nfc: Create interface
2023-04-23 23:28:09 -06:00
Narr the Reg
9704f1bc7e
nfc: Initialize device when controller is connected
2023-03-21 20:09:36 -06:00
Liam
d7e9461b71
service: move hle_ipc from kernel
2023-03-01 10:39:49 -05:00
Liam
1c3a93e7c4
service: refactor server architecture
...
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
Narr the Reg
000a5852ee
core: hid: Only set the polling mode to the correct side
2023-01-19 18:05:23 -06:00
german77
22eb8ce395
yuzu: Add ring controller test button
2023-01-19 18:05:22 -06:00
german77
8a90856b25
service: nfc: Silence ListDevices
2022-12-18 11:57:33 -06:00