Commit Graph

74 Commits

Author SHA1 Message Date
lizzie 0150bfc66d 2026-09-26 11:36:51
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie b0b8050eda 2026-09-26 11:25:53
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie ea0a011d2c 2026-09-26 11:24:29
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 444e396e11 Fix license headers 2026-09-26 18:53:06 +02:00
lizzie 61c4ad6d89 2026-09-26 11:22:33
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 5e35e8a9fe 2026-09-26 10:24:21
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 441c902329 2026-09-26 08:11:32
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 22b7e1e24c 2026-09-26 06:34:09
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie caaabb503d 2026-09-25 16:26:18
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 0f6a782cfa 2026-09-25 15:57:13
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 740db2fd2a 2026-09-25 15:53:30
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 1148431277 2026-09-25 15:49:56
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-26 18:53:06 +02:00
lizzie 8a22f1845b [hle] Enforce max_sessions, add bpc:ams service (#4394)
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>
2026-09-11 21:38:52 +02:00
lizzie a41a98028a [hle/service] stub missing homebrew services, fix NPad/caps crashes (#4264)
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>
2026-08-18 18:11:33 +02:00
lizzie ce043aceb9 [core/hle/service] remove duplicate Core::System& from some ServiceFramework (#4171)
services inheriting from ServiceFramework already have an accessible
system pointer from the inheritance
adding an extra pointer (m_system, often) isn't required and tis
entirely redundant.

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4171
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-07-07 19:59:58 +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
crueter c7b23f4a1a [time] fix: guard timezone out buffer logging (#3668)
Original text, per the emailed patch:

---------------

Hello,

I am submitting a small fix to prevent an unintended abort when _GLIBCXX_ASSERTIONS is enabled, caused by out-of-bounds access in debug logging.
Background / Issue

In the server-side implementations of ITimeZoneService::ToPosixTime and ToPosixTimeWithMyRule, the SCOPE_EXIT debug logging previously accessed out_times[0] and out_times[1] unconditionally.

However, out_times is an IPC-provided output buffer (OutArray, which inherits from std::span). Its length depends on the caller-provided buffer capacity. During debugging, I encountered a case where out_times.size() == 1.

Under _GLIBCXX_ASSERTIONS, accessing out_times[1] triggers a std::span::operator[] assertion failure (std::__glibcxx_assert_fail) and aborts the process, causing the service thread to crash. This results in an unintended crash caused solely by debug logging.
Change Description

In the SCOPE_EXIT logging blocks of both ToPosixTime and ToPosixTimeWithMyRule, I added bounds checks before accessing out_times[0] and out_times[1]:

    Access out_times[0] only if out_times.size() > 0

    Access out_times[1] only if out_times.size() > 1

    Print 0 when the corresponding element is unavailable

This change only affects debug log output. It does not modify IPC semantics or the time conversion logic itself.
Reproduction Context (for reference)

I encountered this issue while running 13 Sentinels: Aegis Rim (title ID: 01008D7016438000). During the “Load Game” flow, ToPosixTimeWithMyRule is invoked with an out_times buffer of length 1, which previously led to the out-of-bounds access in the logging code.

Thank you for your time and review.

Best regards,
darkpaper

Environment: Arch Linux / KDE / X11

This email and the accompanying patch were prepared with assistance from
an LLM.

Authored-by: darkpaper <lirunzhou2021@gamil.com>
Signed-off-by: crueter <crueter@eden-emu.dev>

Co-authored-by: darkpaper <lirunzhou2021@gamil.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3668
2026-03-08 20:53:37 +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
darktux 616619c8f7 Port changes from Early Access 2025-04-04 03:40:46 +02:00
Liam 1c7c59ad91 glue: load initial year setting as s32 2024-02-24 22:49:38 -05:00
german77 4e20a37a2b service: set: Fix GetSettingsItemValue 2024-02-24 14:44:21 -06:00
FearlessTobi 4d55e58ee4 scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Kelebek1 8da2a1edba Close reference to TimeZoneBinary on game close 2024-02-17 16:00:14 +00:00
Narr the Reg 43715edd7e service: set: Migrate ISystemSettingsServer to new IPC 2024-02-14 12:40:10 -06:00
Liam 4b89d8e54e glue: use multi wait API 2024-02-07 12:15:01 -05:00
Kelebek1 706cc35feb Fix firmware timezone boot load check. 2024-02-03 15:21:10 +00:00
Fernando S 03b1662ce9 Merge pull request #12857 from liamwhite/const
service: use const references for input raw data
2024-02-02 15:10:46 +01:00
Fernando S f8174451f5 Merge pull request #12845 from liamwhite/notif
notif: rewrite for new IPC
2024-02-02 15:09:57 +01:00
Liam f191c058e6 service: use const references for input raw data 2024-02-01 12:57:54 -05:00
Kelebek1 61b05f43ae Remove a few hacks for clock setups, which seem to no longer be needed, but fix network clock to local clock on every boot. Also fix some logging strings. 2024-01-31 01:41:59 +00:00
Liam 6e3762d2e1 notif: rewrite for new IPC 2024-01-29 11:56:32 -05: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 2b4d7506a8 Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
Kelebek1 52c35521bd Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
Liam bf50a0e0c2 kernel: fix debugger and process list lifetime 2024-01-12 18:31:33 -05:00
Liam 5f2c56cd15 core: remove ResultVal type 2023-08-08 11:09:37 -04:00
Liam caf76a5603 core: implement GetGaiStringErrorRequest, IContextRegistrar 2023-07-22 23:29:45 -04:00
Liam b8da5b73b2 kernel: convert KProcess to new style 2023-03-12 22:09:27 -04:00
Liam ea36f70e02 hle: rename legacy errors to Results 2023-03-06 20:58:42 -05: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
ameerj 7cc5da4a9f Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
This reverts commit 153fa289d2, reversing
changes made to 20676b3b5a.
2023-02-03 00:08:45 -05:00
liamwhite f74a95b6fb Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer" 2023-02-02 15:53:28 -05:00
ameerj 713394d526 hle_ipc: Rename ReadBufferSpan to ReadBuffer 2022-12-28 18:46:54 -05:00
ameerj 571d469697 hle_ipc: Rename ReadBuffer to ReadBufferCopy
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
ameerj db9a523aae service: Use ReadBufferSpan where it is trivial to do so 2022-12-25 17:04:02 -05:00
german77 c7890ebccc core: Replace all instances of ResultCode with Result 2022-06-26 20:21:37 -05:00