Michael Scire
b7ec64ea16
fs.mitm: add and use memlet module to temporarily steal applet memory while building romfs images.
...
Starting in 20.0.0, the browser needs more applet memory to function, so we can't steal as much any more.
Thus, we now steal 14 MB on 20.0.0+ instead of 40MB.
However, since this reduces memory available for custom system modules, we are adjusting to compensate.
ams.mitm's heap size has been reduced from 32MB to 12MB (recovering 20MB).
In addition, fs.mitm now uses a new mechanism for stealing memory from the applet pool while romfs is being built.
On net, we are compromising:
* Custom sysmodules lose memory available to them.
On 19.0.0/AMS 1.8.0, there was 30 MB available for custom sysmodules.
Stealing 14 MB instead of 40 MB, we lose 26 MB of that. Reducing ams.mitm's usage will gain us back 20.
Nintendo also appears to...use 4 extra MB, in 20.0.0, from my test homebrew.
So on 20.0.0/AMS 1.9.0, there should be 20 MB available for custom sysmodules.
On the bright side, on <20.0.0/AMS 1.9.0, I guess there will be 50 MB available for custom sysmodules now?
* totk mods will lose the ability to...put every file in the romfs on sd card. There will be some unknown maximum filecount for totk mods.
On the bright side, implementing the transient memory stealing should improve compatibility for some mods which strictly add files?
2025-05-09 11:55:21 -07:00
Michael Scire
bc44ffe70d
emummc: fix offsets for 20.0.0-exfat
2025-05-09 11:55:21 -07:00
Michael Scire
a6847ca70e
ams: add enum support for 20.0.1/18.0.1
2025-05-09 11:55:21 -07:00
Michael Scire
3af8757c3b
erpt: initial support (incomplete) for 20.0.0
2025-05-09 11:55:21 -07:00
Michael Scire
f55cf42433
ldr/pm: update for 20.0.0 abi changes
2025-05-09 11:55:21 -07:00
Michael Scire
07df13e2a0
strat: update for fsp-ldr 20.0.0 changes
2025-05-09 11:55:21 -07:00
Michael Scire
791edf87a0
ncm: update to implement new ContentMetaDatabase function for 20.0.0
2025-05-09 11:55:21 -07:00
Michael Scire
b1ca5b4049
kern: plutoo is an intellectual, I am a fool, fix chicanery
2025-05-09 11:55:21 -07:00
Michael Scire
4580a352c0
kern: use callback to note pte updates in KPageTableImpl
2025-05-09 11:55:21 -07:00
Michael Scire
28296e2aac
kern: refactor FindFreeArea region search logic per 20.0.0 changes
2025-05-09 11:55:21 -07:00
Michael Scire
b80f0944ab
kern: update instruction cache invalidation logic in KPageTableBase to reflect 20.0.0 changes
2025-05-09 11:55:21 -07:00
Michael Scire
96d4546498
kern: reorder resource manager implementation
2025-05-09 11:55:21 -07:00
Michael Scire
86e4bed056
kern: support null resource limit in KSecureSystemResource
2025-05-09 11:55:21 -07:00
Michael Scire
2e204ccbaf
kern: update synchronous exception handlers to assume FAR validity on TLB conflict
2025-05-09 11:55:21 -07:00
Michael Scire
b27999a116
kern: adjust system registers during exception handling on MTE-violation or kernel address fault
2025-05-09 11:55:21 -07:00
Michael Scire
98e5bd4411
kern: update UserspaceAccess functions for 20.0.0 changes
2025-05-09 11:55:21 -07:00
Michael Scire
4c5c5c85e3
kern: update crt0 to reflect 20.0.0 changes
2025-05-09 11:55:21 -07:00
Michael Scire
3e19e4d004
kern: update KAddressSpaceInfo to reflect 20.0.0 changes
2025-05-09 11:55:21 -07:00
Michael Scire
66fcf33a2c
kern: invert meaning of KTargetSystem/KSystemControl bools
2025-05-09 11:55:21 -07:00
Michael Scire
d147f6f93b
erpt: update ids for 20.0.0
2025-05-09 11:55:21 -07:00
Michael Scire
3dd5c98f52
readme: sept has not been in the project for many years
2025-05-09 11:55:21 -07:00
Michael Scire
b9b01bbbd1
loader: add usb 3.0 enable patches for 20.0.0
2025-05-09 11:55:21 -07:00
Michael Scire
6352397203
emummc: add offsets for 20.0.0 (untested)
2025-05-09 11:55:21 -07:00
Michael Scire
ef5334c3ca
fusee/exo/ams: update with new keydata/version enums
2025-05-09 11:55:21 -07:00
Michael Scire
6125f40bdb
ams: various fixes to support booting debug configuration
2025-04-08 13:43:29 -07:00
Michael Scire
85fd13f724
kern: update KernelLdr for 19.0.0 (new checks, dummy function call).
...
Also, fix a few very embarassing mistakes in kernel ldr:
* We have been mapping the page table region RWX for a few years now, accidentally.
* My attempt at making initial page tables not use bit 58 was broken in multiple ways.
2025-04-07 16:49:10 -07:00
tomvita
4e99a5e08d
Add extensions to dmnt cheat virtual machine ( #2479 )
...
* dmnt_extension
* update type 8 extension
* clearify that bit 27 does not correspond to a button
* update cheat.md with new code type 0xC4
* implement code type 0xC4
* Add type 1 extension
* remove C0Tcr6Ma aaaaaaaa VVVVVVVV (VVVVVVVV)
* Type 9 extension for floating point math
* updated according to review
2025-01-09 19:38:59 -07:00
Michael Scire
9f8d17b9e6
crypto: implement CmacGenerator
2024-10-30 18:08:29 -07:00
Michael Scire
3a5f70dceb
fs: fix uninit warnings on windows localfilesystem
2024-10-29 20:00:08 -07:00
Michael Scire
e51e11a71c
libstrat: re-nolto files when compiling for windows-audit
2024-10-29 19:30:30 -07:00
Michael Scire
57e15f3622
strat: ldr::PlatformId -> ncm::ContentMetaPlatform
2024-10-29 19:24:52 -07:00
Michael Scire
c6014b533f
docs: add changelog for 1.8.0
2024-10-15 21:55:50 -07:00
Michael Scire
0c3608d1f4
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "989fb7be0"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "989fb7be0"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2024-10-15 21:52:50 -07:00
Michael Scire
be19749841
svc: bump supported kernel version
2024-10-15 21:51:17 -07:00
Michael Scire
7c31b21d4b
git subrepo push emummc
...
subrepo:
subdir: "emummc"
merged: "d248ea6f7"
upstream:
origin: "https://github.com/m4xw/emummc "
branch: "develop"
commit: "d248ea6f7"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2024-10-15 21:50:20 -07:00
Michael Scire
9112461620
loader: add usb 3.0 enable patches for 19.0.0
2024-10-15 21:48:59 -07:00
Michael Scire
3522ac18c1
kern: support reboot to fatal error on mariko
2024-10-15 21:48:59 -07:00
Michael Scire
e63cae5c77
kern: Perform page table validity pass during KPageTableImpl::InitializeForKernel
2024-10-15 21:48:59 -07:00
Michael Scire
c911420d6a
kern: fix more page table refactor bugs
2024-10-15 21:48:59 -07:00
Michael Scire
570989384b
kern: first round of page table refactor bug fixes
2024-10-15 21:48:59 -07:00
Michael Scire
4c81432e94
kern: update KPageTable::Map for new refactor
2024-10-15 21:48:59 -07:00
Michael Scire
e1e84d4450
kern: update ChangePermissions to use new iteration logic
2024-10-15 21:48:59 -07:00
Michael Scire
d2656e3948
kern: update KPageTable::Finalize for the refactor
2024-10-15 21:48:59 -07:00
Michael Scire
62abb31122
kern: use new merge pages api
2024-10-15 21:48:59 -07:00
Michael Scire
cb970049db
kern: implement KPageTableImpl merge
2024-10-15 21:48:59 -07:00
Michael Scire
9610f42dc0
kern: continue page table refactor, implement separate/unmap
2024-10-15 21:48:59 -07:00
Michael Scire
02e837d82e
kern: start KPageTable(Impl) refactor, use array-with-levels for KPageTableImpl
2024-10-15 21:48:59 -07:00
Michael Scire
7aa0bed869
ldr: ProgramInfo is 0x410 now, and fix debug flags for hbl
2024-10-15 21:48:59 -07:00
Michael Scire
a80d5b5c86
pm: add new 19.0.0 commands
...
This is functionally correct, but I have no idea what these are meant to represent.
These functions are completely unused on NX.
2024-10-15 21:48:59 -07:00
Michael Scire
77d239265d
ns_mitm: update to support new 19.0.0 command
2024-10-15 21:48:59 -07:00