aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc
Commit message (Collapse)AuthorAgeFilesLines
* boot Pokopia past audio init (Switch 2 heap limits, aud:u 1, stpl:u) (#77)Alex4 days1-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * game_list: don't free the worker while it is processing events OnPopulatingCompleted runs a nested event loop from inside GameListWorker::ProcessEvents. If the directory watcher fires there, the repopulate destroys the worker while ProcessEvents is still on the stack and the next lock hits a freed mutex. Stop the worker synchronously but free it with deleteLater, and stop ProcessEvents once it has been replaced. Assisted-by: Claude Opus 5.5 (code changes, debugging and commit message) * Fix Switch 2 heap limits and game list reloads during emulation - SetHeapSize rejected heaps of 8 GiB or more (Switch 1's MainMemorySizeMax), so Switch 2 titles that size their heap from the 12 GiB layout (Pokopia asks for 9.5 GiB) got ResultInvalidSize and aborted with 2001-0101. Allow up to the memory the active layout provides. - Grow the 39-bit heap region from 8 to 16 GiB so such a heap fits. - Skip watcher-driven game list reloads while a game runs: Repopulate calls CreateFactories, which replaces content providers the running game reads (segfault in ContentProviderUnion::GetEntry). Stopping emulation already repopulates the list. Assisted-by: Claude Opus 5.5 (code changes, debugging and commit message) * nx2: answer aud:u 1 with an IAudioOutManager nn::audio::OpenAudioOut gets its manager from aud:u command 1 and calls OpenAudioOut through slot 1 of the returned object. The auto stub returned no object, so Pokopia jumped through a null vtable 5 s into boot and never got past its first frame. Assisted-by: Claude Opus 5.5 (code changes, debugging and commit message) * nx2: add a stpl:u (stream play) stub with a user service nn::streamplay::detail::GetUserService opens a session with stpl:u 0 and attaches a system event to the handle command 300 returns. The generic missing-service stub returned no session, so Pokopia's first nn::streamplay call jumped through null right after audio setup. Assisted-by: Claude Opus 5.5 (code changes, debugging and commit message)
* kernel: EDEN_NX2_MEM_TRACE logs heap, physical memory and memory info requestsTakoroka7 days2-4/+48
|
* core: emulate six CPU coresTakoroka7 days1-2/+2
| | | | | | | Switch 2 applications are given cores 0..5 (title 4's npdm) and start a job worker per core. With four emulated cores, 4 and 5 were folded onto 0 and 1, so two cores ran two workers each. Switch 1 titles keep using cores 0..3; core 3 stays the shared system core.
* kernel: stub Switch 2 svcGetInfo 31/32 (remote memory)Takoroka7 days1-0/+11
| | | | | | nn::os::GetRemoteMemoryUsage returns {id 31, id 32}; nn::gsv and nn::nvsrv BootWithRemoteMemory use it while booting the graphics system. Return 0 for both for now (logged).
* kernel: fold Switch 2 virtual cores 4/5 onto emulated coresTakoroka7 days1-0/+17
| | | | | | | Switch 2 titles get core mask 0x3f and nn::oe creates a thread on core 5. Eden emulates four cores, so fold virtual cores 4..7 onto 0..3 in CreateThread and SetThreadCoreMask (after validating against the real process mask).
* kernel: svcGetInfo 33 is a page granule; give 29/30 a real regionTakoroka7 days1-11/+15
| | | | | | | The SDK checks module address/size against (id33 - 1) when initialising DSOs, so id 33 is a page granule: return 0x1000. Report ids 29/30 as the upper half of the alias region (a plausible VAMM address-space region, backed through MapPhysicalMemory) instead of an empty region.
* kernel: stub Switch 2 svcGetInfo ids 29, 30 and 33Takoroka8 days1-0/+19
| | | | | | | | nnosInitialize queries ids 29/30 between the alias (2/3) and ASLR (12/13) regions and aborts if they fail; report an empty region after the alias region. VammManager::Initialize (enabled when the system resource size is non-zero) queries id 33 and passes it to MapPhysicalMemory as a size, so return 2 MiB. Both are logged as stubs; the real meanings are unknown.
* [hle] Firmware 23.0.0 (#4390)lizzie2026-09-101-0/+7
| | | | | | | | | | | | | | | | | | Preparing when something inevitably requires *at least* this reporting of version/etc. Authored-by: @Maufeat 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/4390 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [hle] VirtualBoy classics fixes, QLaunch IPC fixes, implement extra ams ↵lizzie2026-09-081-71/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | SVCInfo (#4343) 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. ------------------- `OpenSystemApplicationProxy` `OpenSystemApplicationProxy` ALSO yes those cmds DO NOT take an attribute Implemented SVC infos to match Atmosphere's values Implement more stub I2C session cmds stub CMD2103 for rhythm groove better error handling on svc get info to match ams (see ams svc info) Virtual Boy classic fix adept from https://git.ryujinx.app/projects/Kenji-NX/commit/2288084b531b185f5840a696b23265014f07e2f2 by @Mythrax acc:u1 was missing the *Deprecated cmd Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4343 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [hle/kernel] remove flusher thread from OutputDebugString (#4291)lizzie2026-08-301-47/+3
| | | | | | | | | | | | | | | | | | | | | | | 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. ------------------- Unneeded abstraction? either way it seems this thread is not required anyone thinking otherwise feel free to lmk directly contradicts with #4290 and #3744 Remember that messages will be displayed out of order this can make actual debugging much harder I'm afraid Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4291 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
* [core/hle/kernel/svc] demote ResetSignal log Debug->Trace (#4161)lizzie2026-08-091-1/+1
| | | | | | | | | | | I don't see why it's LOG_DEBUG if WaitSynchronization is LOG_TRACE, leaves incomplete data may as well bundle it to trace with the others? :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4161 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [fmt] use {#:x} instead of 0x{:#x} (#4170)lizzie2026-07-2516-96/+97
| | | | | | | | | | continuation of #309 but applying to even more files than before :) also makes them lowercase because `0xfafafa` is better as `0XFAFAFA` Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4170 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [core/hle/kernel/svc] add missing CanContain check for ↵lizzie2026-07-073-17/+18
| | | | | | | | | | | | | {Un}MapProcessCodeMemory, remove 4KB align func (#4164) does what it says, adds a missing check for that specific SVC also removes that 4kb "helper" function which is just a fancy "IsAligned" Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4164 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [video_core, hle] remove redundant parent references in system structs (#3908)lizzie2026-06-2319-247/+234
| | | | | | | | | | 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>
* [hle] Fixes for nxident, nxmp and nxplay, remove hbl.nsp workarounds (#3996)lizzie2026-06-121-3/+4
| | | | | | | | | | | | | | | adds `gpio` and `i2c` services implements `IApplicationFunctions::SetMediaPlaybackStateForApplicatio` stubs `IBtmSystemCore::GetDiscoveredAudioDevice` implements `nvhost_ctrl_gpu::PmuGetGpuLoad` IOCTL (0x20) implements `PSM::GetBatteryAgePercentage`, `PSM::GetBatteryVoltageState` and `PSM::GetBatteryChargeInfoFields` implements `ISystemSettingsServer::GetConsoleInformationUploadFlag`, `ISystemSettingsServer::SetConsoleInformationUploadFlag`, `ISystemSettingsServer::GetAutomaticApplicationDownloadFlag`, `ISystemSettingsServer::SetAutomaticApplicationDownloadFlag`, `&ISystemSettingsServer::GetUsb30EnableFlag`, `ISystemSettingsServer::SetUsb30EnableFlag` removes `hbl.nsp` specific workarounds Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3996 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
* [svc] Stub BreakDebugProcess (#4044)crueter2026-06-021-2/+5
| | | | | | | Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4044 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* [kernel, hle] Initial 22.0.0 kernel changes and cmd stubs (#3761)maufeat2026-05-051-2/+7
| | | | | | | | | | | | | - KProcess::Run() and CreateThread() SVC now write the current thread handle to TLS+0x110 - KPageTableBase::LockForMapDeviceAddressSpace now checks for a new KPageTableBase boolean, m_allowed_exec_device_mapping - Stub `am` + `acc` + `settings` cmd module that needs to work for qlaunch Thanks to: @alula and @yellows8 Source for changes: https://github.com/Atmosphere-NX/Atmosphere/pull/2744, https://switchbrew.org/, https://yls8.mtheall.com/ Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3761 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [hle] improved flusher that uses jthread (#3837)lizzie2026-04-091-59/+43
| | | | | | | | | | | | not happy with this impl, but I made this a bit quickly to demostrate it can be done better :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3837 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [hle/kernel] Fix OutputDebugString formatting (#3744)smiRaphi2026-04-061-3/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the debug outputs by buffering it, should not effect any normal game as the flush thread only get's created once the function has actually been called. Turning it from: ``` [ 9.707449] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: SDK Assertion Failure: 'hipc::ResultSessionClosed::Includes(result)' in CloseClientSessionHandleSafely() at pid=81, tid=76(Main [ 9.707642] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: Thread) [ 9.707791] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: [SF-Internal] [ 9.707827] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: [ 9.708202] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: Stack trace: [ 9.708880] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000866B5170 (unknown) [ 9.708911] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000866B42BC (unknown) [ 9.708916] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000866B4AEC (unknown) [ 9.708919] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000866B2F20 (unknown) [ 9.708922] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000866B19BC (unknown) [ 9.708925] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x0000000086875C64 (unknown) [ 9.708927] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000868752E0 (unknown) [ 9.708929] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x0000000086874C1C (unknown) [ 9.708932] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000866FBD1C (unknown) [ 9.708944] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x00000000866FBDCC (unknown) [ 9.708967] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: [ 9.709035] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: Related modules: [ 9.709061] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: base size name/path [ 9.709349] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: 0x000000008665D000 0x0000000000E50000 nnSdkEn [ 9.709431] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:17:OutputDebugString: ``` Into: ``` [ 5.895512] Debug.Emulated <Info> core\hle\kernel\svc\svc_debug_string.cpp:47:FlushDbgLoop: SDK Assertion Failure: 'hipc::ResultSessionClosed::Includes(result)' in CloseClientSessionHandleSafely() at pid=81, tid=76(MainThread) [SF-Internal] Stack trace: 0x00000000866B5170 (unknown) 0x00000000866B42BC (unknown) 0x00000000866B4AEC (unknown) 0x00000000866B2F20 (unknown) 0x00000000866B19BC (unknown) 0x0000000086875C64 (unknown) 0x00000000868752E0 (unknown) 0x0000000086874C1C (unknown) 0x00000000866FBD1C (unknown) 0x00000000866FBDCC (unknown) Related modules: base size name/path 0x000000008665D000 0x0000000000E50000 nnSdkEn ``` Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3744 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: smiRaphi <neogt404@gmail.com> Co-committed-by: smiRaphi <neogt404@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>
* [hle/ui] Add cmds and fix invalid handle return, remove Starter applet from ↵Maufeat2026-01-241-2/+15
| | | | | | | | | | | | | | | | | | | | UI (#3376) This fixes qlaunch "+ Options" :) More: - Remove Starter-Applet from menu (Starter is started by qlaunch) - Stub OLSC cmds and add IStopperObject - Fail-safe invalid handle return for system applets - Stub IHomeMenuFunctions::IsSleepEnabled (closes qlaunch now when hitting sleep) - Lower BuiltInNews timeout from 10s to 2s - Use proper Event instead of KEvent in npns Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3376 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
* [svc] Implement GetSystemInfo (#3217)Maufeat2025-12-271-2/+42
| | | | | | | | | | This function is a copy-cat implementation of Ryujinx's method Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3217 Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
* [hle, kernel] Add support for FW21 and kernel changes (#3004)lizzie2025-11-161-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | - Adapts kernel changes from atmosphere for firmware 21.0.0. - Fixes launch error of firmware 21.0.0 applets. - Adds new commands for `prepo` (New `SaveSystemReport` & `SaveSystemReportWithUser`). - Adds new commands for `IReadOnlyApplicationControlDataInterface` (cmd 19; incomplete!) - Adds `{12010, nullptr, "SetButtonConfigLeft"},` undocumented IHidServer. - Adds new commands for `ngc:u` (`Mask2` and `Check2`) - Adds new commands for system settings server (GetHttpAuthConfig) for webapplet - Removes incompatible firmware popup warning. Signed-off-by: lizzie lizzie@eden-emu.dev Co-authored by: maufeat sahyno1996@gmail.com Co-authored-by: crueter <crueter@eden-emu.dev> Co-authored-by: JPikachu <jpikachu.eden@gmail.com> Co-authored-by: Maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3004 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [meta] fix license headers (#2547)lizzie2025-09-211-0/+3
| | | | | | | 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>
* [cmake] enable clang-cl and WoA builds (#348)lizzie2025-09-095-10/+10
| | | | | | | | | | | | | | 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>
* [fmt] use {:#X} for format instead of 0x{:X} (#309)lizzie2025-08-2712-25/+58
| | | | | | | | Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/309 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [core] Unstub AliasRegionExtraSize (#260)SDK-Chan2025-08-201-7/+16
| | | | | | | | | | | | | This implementation is basically usable for up to 8GB of DRAM which you can set in the emulator. It should ensure that the alias or map region for the virtual address space is bigger when requested. 8GB DRAM is the size of Nintendos DRAM sticks in the developers kit. Going above 8GB DRAM while emulating a game is not recommended. That is why this implementation. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/260 Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev> Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev> Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
* Service: Add AliasRegionExtraSizeJPikachu2025-04-121-1/+6
| | | | | Thanks to Briar for finding and testing the Service Credit: Antique - [Sudachi] Dev (https://sudachi.emuplace.app/)
* revert 789bbd7ab5929bbab5b81b39bbf82faf392f13c4JPikachu2025-04-101-10/+0
| | | | This needs to be put aside for now, but may be implemented again later
* kernel: Implement SystemResourceSize info type for VAMM initializationZephyron2025-04-041-0/+10
| | | | | | | | | | | | | | | | | Adds support for InfoType::SystemResourceSize (0x1C) which is required for proper initialization of the Virtual Address Memory Manager (VAMM). This implementation: 1. Adds SystemResourceSize to the InfoType enum in svc_types.h 2. Implements the GetInfo handler for SystemResourceSize in svc_info.cpp 3. Returns 512MB (0x20000000 bytes) as the system resource size 4. Adds debug logging for the SVC call The 512MB value is chosen based on typical system resource allocations needed for VAMM initialization on the Nintendo Switch. This fixes crashes in games that rely on VAMM functionality, particularly during nn::os::detail::VammManager::InitializeIfEnabled().
* scope_exit: Make constexprFearlessTobi2024-02-1910-19/+29
| | | | | Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
* kernel: fix debugger and process list lifetimeLiam2024-01-121-3/+5
|
* Fix typos in src/core (#12625)Viktor Szépe2024-01-081-2/+2
| | | | | | | | | * Fix typos in src/core * Fix typo correction * Fix indentation of MemoryStateNames * Fix indent
* kernel: restrict nce to applicationsLiam2023-12-221-1/+0
|
* k_server_session: process for guest serversLiam2023-12-221-4/+2
|
* Merge pull request #12296 from liamwhite/client-sessionliamwhite2023-12-091-81/+215
|\ | | | | kernel: implement remaining IPC syscalls
| * kernel: implement remaining IPC syscallsLiam2023-12-061-81/+215
| |
* | kernel: implement light IPCLiam2023-12-073-16/+124
|/
* core: refactor emulated cpu core activationLiam2023-12-044-71/+36
|
* kernel: add KPageTableBaseLiam2023-11-104-9/+17
| | | | Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
* kernel: update KProcessLiam2023-10-215-21/+24
|
* kernel: fix format string errorLiam2023-10-201-1/+1
|
* k_page_table: implement PermissionLockedLiam2023-10-201-1/+7
|
* kernel: implement transfer memoryLiam2023-10-041-5/+49
|
* core: improve debug workflowLiam2023-09-142-2/+6
|
* kernel: remove relative task registrationLiam2023-08-146-15/+58
|
* core: reduce TOCTTOU memory accessLiam2023-07-222-14/+8
|
* kernel: reduce page table region checkingLiam2023-07-145-49/+10
|
* k_process: PageTable -> GetPageTableLiam2023-07-1412-39/+39
|
* kernel: SynchronizeMorph2023-07-012-36/+42
|