Commit graph

2396 commits

Author SHA1 Message Date
JPikachu e0795f2b40 Service: Add AliasRegionExtraSize
Thanks to Briar for finding and testing the Service
Credit: Antique - [Sudachi] Dev (https://sudachi.emuplace.app/)
2025-04-12 16:23:47 +01:00
JPikachu 4957950b55 revert 789bbd7ab5
This needs to be put aside for now, but may be implemented again later
2025-04-10 03:45:51 +00:00
Zephyron 789bbd7ab5 kernel: Implement SystemResourceSize info type for VAMM initialization
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().
2025-04-04 03:40:49 +02:00
yuzubot c280f95b1a "Merge Tagged PR 13018" 2024-03-03 13:02:50 +00: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
Liam e9dc3bd26b kernel: add and enable system suspend type 2024-02-14 17:03:50 -05:00
Liam 8a14e13295 core: fix multiprocess with nce 2024-02-09 09:20:53 -05:00
Liam 49f10b2e54 am: migrate global state to per-applet state structure 2024-01-29 20:17:33 -05:00
Liam 5942df75fb kernel: clear pinned waiter list on unpin 2024-01-27 22:53:49 -05:00
Liam 507ab2d9b5 kernel: target invalidate to given process 2024-01-22 21:18:52 -05:00
Fernando Sahmkow 28702afb69 Core: Make sure GPU Dirty Managers ae shared by all processes. 2024-01-18 21:12:30 -05:00
liamwhite f05d1c60be Merge pull request #12677 from GPUCode/whyy-modders
core: Support multiple modules per patcher
2024-01-15 13:52:38 -05:00
GPUCode 26a25d2280 core: Support multiple modules per patcher 2024-01-15 00:46:05 +02:00
Liam b31c464b90 kernel: optimize page free on shutdown 2024-01-12 19:19:07 -05:00
Liam bf50a0e0c2 kernel: fix debugger and process list lifetime 2024-01-12 18:31:33 -05:00
Liam 12fe8c5b76 kernel: fix page leak on process termination 2024-01-12 18:31:33 -05: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
Merry d4bb92866b KThread: Send termination interrupt to all cores a thread has affinity to
KThread::RequestTerminate may run from a thread which is not the CurrentCore, and thus
masking this out is erroneous.
2024-01-02 21:34:34 +00:00
Narr the Reg 7a478d7b9a Merge pull request #12454 from liamwhite/ct-stuff
core_timing: minor refactors
2024-01-01 13:56:31 -06:00
Narr the Reg 5dbd02ebb1 Merge pull request #12466 from liamwhite/sh2
core: track separate heap allocation for linux
2024-01-01 13:56:16 -06:00
Liam c421e9e729 k_capabilities: simplify KTrace map skip logic 2023-12-28 01:22:57 -05:00
liamwhite acc826f8fa Merge pull request #12455 from liamwhite/end-wait
kernel: use simple mutex for object list container
2023-12-26 11:46:19 -05:00
Liam c366d8e8d9 core: track separate heap allocation for linux 2023-12-25 23:30:56 -05:00
Liam ac1e946390 kernel: remove unecessary process member from handle table 2023-12-24 19:23:03 -05:00
Liam 6bd1dfa8cc service: fetch objects from the client handle table 2023-12-24 19:20:43 -05:00
Liam ad4d66a5db kernel: use simple mutex for object list container 2023-12-23 16:26:07 -05:00
Liam 468ef514f1 core_timing: use static typing for no-wait unschedule 2023-12-23 15:36:46 -05:00
Liam b9545c5a0e core_timing: remove user data value 2023-12-23 15:36:44 -05:00
Liam 3d08a55a87 kernel: fix resource limit imbalance 2023-12-22 21:52:49 -05:00
Liam a7ff872a4c kernel: restrict nce to applications 2023-12-22 21:52:49 -05:00
Liam 1fdcd70bad general: properly support multiple memory instances 2023-12-22 21:52:49 -05:00
Liam 8243f4e3c7 k_server_session: remove scratch buffer usage in favor of direct copy 2023-12-22 21:52:49 -05:00
Liam 5244690809 k_server_session: process for guest servers 2023-12-22 21:52:49 -05:00
Liam e2b5f2392e kernel: instantiate memory separately for each guest process 2023-12-22 21:52:49 -05:00
liamwhite 0116c74ba7 Merge pull request #12358 from liamwhite/optimized-alloc
common: use memory holepunching when clearing memory
2023-12-16 11:47:03 -05:00
Liam 1075c88dca common: use memory holepunching when clearing memory 2023-12-14 23:44:33 -05:00
Narr the Reg 6de39c8398 service: hid: Allow to create multiple instances of shared memory 2023-12-13 23:24:28 -06:00
liamwhite 12b8cd2ffb Merge pull request #12317 from liamwhite/sc-fix
kernel: fix single core
2023-12-10 18:16:58 -05:00
liamwhite 7d3fe08d79 Merge pull request #12321 from liamwhite/ro2
ro: add separate ro service
2023-12-10 18:16:50 -05:00
liamwhite 4907a83298 Merge pull request #12296 from liamwhite/client-session
kernel: implement remaining IPC syscalls
2023-12-09 19:03:56 -05:00
Liam 662bc7c6a1 service: populate pid and handle table from client 2023-12-09 13:45:25 -05:00
Liam f85425fe86 kernel: fix single core 2023-12-08 20:31:18 -05:00
Liam f486fe3971 kernel: implement light IPC 2023-12-07 09:13:43 -05:00
Liam dcc9df5dd2 kernel: implement remaining IPC syscalls 2023-12-06 17:33:00 -05:00
Liam 3d5c6a73cb core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
Liam 82c5e2472e general: fix mac compile 2023-11-26 19:50:10 -05:00
GPUCode 1e5a1d1702 Address more review comments 2023-11-25 00:47:43 -05:00
GPUCode 3930e3d7fd core: Define HAS_NCE macro 2023-11-25 00:47:36 -05:00
GPUCode 3814ca9d84 Address some review comments 2023-11-25 00:47:35 -05:00
Liam 19619b1b14 arm: Implement native code execution backend 2023-11-25 00:46:47 -05:00