Commit graph

2394 commits

Author SHA1 Message Date
Zephyron
528c09ae72 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
7ffac53c9e "Merge Tagged PR 13018" 2024-03-03 13:02:50 +00:00
FearlessTobi
310c1f50be 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
af42482565 kernel: add and enable system suspend type 2024-02-14 17:03:50 -05:00
Liam
2e8c21ad2d core: fix multiprocess with nce 2024-02-09 09:20:53 -05:00
Liam
182137a9a4 am: migrate global state to per-applet state structure 2024-01-29 20:17:33 -05:00
Liam
6c4eb2733d kernel: clear pinned waiter list on unpin 2024-01-27 22:53:49 -05:00
Liam
96833cd809 kernel: target invalidate to given process 2024-01-22 21:18:52 -05:00
Fernando Sahmkow
648ed55fe6 Core: Make sure GPU Dirty Managers ae shared by all processes. 2024-01-18 21:12:30 -05:00
liamwhite
04f4eeaca2
Merge pull request #12677 from GPUCode/whyy-modders
core: Support multiple modules per patcher
2024-01-15 13:52:38 -05:00
GPUCode
d4acdac168 core: Support multiple modules per patcher 2024-01-15 00:46:05 +02:00
Liam
2f0b57ca13 kernel: optimize page free on shutdown 2024-01-12 19:19:07 -05:00
Liam
f90a022d3a kernel: fix debugger and process list lifetime 2024-01-12 18:31:33 -05:00
Liam
f2fed21c11 kernel: fix page leak on process termination 2024-01-12 18:31:33 -05:00
Viktor Szépe
f124461674
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
0f7fc94111 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
aa9ff2ffc2
Merge pull request #12454 from liamwhite/ct-stuff
core_timing: minor refactors
2024-01-01 13:56:31 -06:00
Narr the Reg
f0f92edbd0
Merge pull request #12466 from liamwhite/sh2
core: track separate heap allocation for linux
2024-01-01 13:56:16 -06:00
Liam
95bfc542aa k_capabilities: simplify KTrace map skip logic 2023-12-28 01:22:57 -05:00
liamwhite
12178c694a
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
ddda76f9b0 core: track separate heap allocation for linux 2023-12-25 23:30:56 -05:00
Liam
cf8c7d4ed3 kernel: remove unecessary process member from handle table 2023-12-24 19:23:03 -05:00
Liam
5165ed9efd service: fetch objects from the client handle table 2023-12-24 19:20:43 -05:00
Liam
e3491a9ee8 kernel: use simple mutex for object list container 2023-12-23 16:26:07 -05:00
Liam
575db04172 core_timing: use static typing for no-wait unschedule 2023-12-23 15:36:46 -05:00
Liam
f34d3d7e84 core_timing: remove user data value 2023-12-23 15:36:44 -05:00
Liam
c57ae803a6 kernel: fix resource limit imbalance 2023-12-22 21:52:49 -05:00
Liam
db7b2bc8f1 kernel: restrict nce to applications 2023-12-22 21:52:49 -05:00
Liam
31bf57a310 general: properly support multiple memory instances 2023-12-22 21:52:49 -05:00
Liam
cae675343c k_server_session: remove scratch buffer usage in favor of direct copy 2023-12-22 21:52:49 -05:00
Liam
35501ba41c k_server_session: process for guest servers 2023-12-22 21:52:49 -05:00
Liam
419055e484 kernel: instantiate memory separately for each guest process 2023-12-22 21:52:49 -05:00
liamwhite
fde8dc1652
Merge pull request #12358 from liamwhite/optimized-alloc
common: use memory holepunching when clearing memory
2023-12-16 11:47:03 -05:00
Liam
8ad5f2c506 common: use memory holepunching when clearing memory 2023-12-14 23:44:33 -05:00
Narr the Reg
64f68e9635 service: hid: Allow to create multiple instances of shared memory 2023-12-13 23:24:28 -06:00
liamwhite
62586c1676
Merge pull request #12317 from liamwhite/sc-fix
kernel: fix single core
2023-12-10 18:16:58 -05:00
liamwhite
108737fcc6
Merge pull request #12321 from liamwhite/ro2
ro: add separate ro service
2023-12-10 18:16:50 -05:00
liamwhite
875568bb3e
Merge pull request #12296 from liamwhite/client-session
kernel: implement remaining IPC syscalls
2023-12-09 19:03:56 -05:00
Liam
5feda37688 service: populate pid and handle table from client 2023-12-09 13:45:25 -05:00
Liam
1d731dd1ff kernel: fix single core 2023-12-08 20:31:18 -05:00
Liam
9268f265a1 kernel: implement light IPC 2023-12-07 09:13:43 -05:00
Liam
40bb176c39 kernel: implement remaining IPC syscalls 2023-12-06 17:33:00 -05:00
Liam
45c87c7e6e core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
Liam
15f35b8657 general: fix mac compile 2023-11-26 19:50:10 -05:00
GPUCode
9ff8d0f3e6 Address more review comments 2023-11-25 00:47:43 -05:00
GPUCode
3ec3cca4d8 core: Define HAS_NCE macro 2023-11-25 00:47:36 -05:00
GPUCode
6de2edcca1 Address some review comments 2023-11-25 00:47:35 -05:00
Liam
9f91ba1f73 arm: Implement native code execution backend 2023-11-25 00:46:47 -05:00
Liam
f2a8409083 kernel: Manually specify aslr region start 2023-11-25 00:46:15 -05:00
GPUCode
5938a9582a core: Respect memory permissions in Map 2023-11-25 00:46:15 -05:00