Commit Graph
100 Commits
Author SHA1 Message Date
Michael Scire 5056ab21af git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "9a8703e71"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "9a8703e71"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2026-01-15 15:39:39 -07:00
Michael Scire eb34f9789c git subrepo push emummc
subrepo:
  subdir:   "emummc"
  merged:   "8ab963b0b"
upstream:
  origin:   "https://github.com/m4xw/emummc"
  branch:   "develop"
  commit:   "8ab963b0b"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2026-01-13 23:25:52 -07:00
Michael Scire 1e88f37892 ams/emummc: update for 21.2.0 2026-01-13 23:24:53 -07:00
Michael Scire 21c0f75a29 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "6cc765fca"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "6cc765fca"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-12-08 18:41:44 -07:00
Michael Scire 3cb5d5f957 ams: add enum recognition for 21.1.0 2025-12-08 18:41:01 -07:00
Michael Scire 00d1cdb533 loader: fix valid-nso-set checks to be accurate (closes #2660) 2025-11-22 15:57:35 -07:00
Michael Scire d9fc6e99eb kern: eshop actually requires an extra mb 2025-11-15 17:35:47 -07:00
Michael Scire c08a13a546 loader: add USB 3.0 patches for 21.0.0 2025-11-15 17:03:49 -07:00
Michael Scire b5b6189c85 kern: fix comparison typo 2025-11-15 16:51:15 -07:00
Michael Scire 28a378ca0d ro: fix loading of aligned-header NROs 2025-11-15 16:47:57 -07:00
Michael Scire 540d00e097 kern: 21.0.0 requires an even smaller memory pool... 2025-11-15 16:47:44 -07:00
Michael Scire bfe98bc5b8 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "6e2c09c79"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "6e2c09c79"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-11-15 12:58:41 -07:00
Michael Scire 4928bcb003 git subrepo push emummc
subrepo:
  subdir:   "emummc"
  merged:   "3c57b20ba"
upstream:
  origin:   "https://github.com/m4xw/emummc"
  branch:   "develop"
  commit:   "3c57b20ba"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-11-15 12:57:18 -07:00
Michael Scire d61ee942d9 docs: add changelog for 1.10.0 2025-11-15 12:55:47 -07:00
Michael Scire f59e6a936b emummc: update for 21.0.0 2025-11-15 12:31:07 -07:00
Michael Scire 129c61c256 loader: fix sd-cmpt 2025-11-15 12:31:07 -07:00
Michael Scire db71eefd9f loader: update for 20.0.0/21.0.0 2025-11-15 12:31:07 -07:00
Michael Scire 4b32a2b964 pgl/pm: add GetProcessId command 2025-11-15 12:31:07 -07:00
Michael Scire 0fb9481e59 kern: fix debug build for [[nodiscard]] changes 2025-11-15 12:31:07 -07:00
Michael Scire c05d91f44a kern: fix whoops introduced by nodiscard refactor 2025-11-15 12:31:07 -07:00
Michael Scire e1d82a13f3 erpt: implement new 21.0.0 commands 2025-11-15 12:31:07 -07:00
Michael Scire 4f1201a022 erpt: fix ids, failed to copy the new categories 2025-11-15 12:31:07 -07:00
Michael Scire 4201bbff63 fatal: add new HashedTraceContext command 2025-11-15 12:31:07 -07:00
Michael Scire 94c36a3255 erpt: add new IDs for 21.0.0 2025-11-15 12:31:07 -07:00
Michael Scire 6b0ef21b83 kern: RESERVED_2F now set by HandleFpuException 2025-11-15 12:31:07 -07:00
Michael Scire ac382f69e7 kern: exception flags are now atomic.
This is a really weird one, because they didn't actually update the
code which updates these flags in asm, these still use ldrb/orr/strb.
But every access to these via c++ is now an atomic ldxrb/stxrb loop.
Maybe they just forgot to update the asm?
2025-11-15 12:31:07 -07:00
Michael Scire 2a44550dbe kern: pass u32 directly to CopyMemoryToUserSize32Bit 2025-11-15 12:31:07 -07:00
Michael Scire 3bc1951820 ams: mark ams::Result [[nodiscard]] (partially complete).
NOTE: This work is not yet fully complete; kernel is done, but
it was taking an exceedingly long time to get through libstratosphere.
Thus, I've temporarily added -Wno-error=unused-result for libstratosphere/stratosphere.

All warnings should be fixed to do the same thing Nintendo does as relevant, but this
is taking a phenomenally long time and is not actually the most important work to do,
so it can be put off for some time to prioritize other tasks for 21.0.0 support.
2025-11-15 12:31:07 -07:00
Michael Scire 418fde40a8 kern: Nintendo now also devirtualizes KAutoObject::DynamicCast 2025-11-15 12:31:07 -07:00
Michael Scire e36051359c kern: write cpu tick differential to tls +0x108 on thread switch 2025-11-15 12:31:07 -07:00
Michael Scire 18bb1fdea0 fusee/exo/ams: update with new keydata/version enums 2025-11-15 12:31:07 -07:00
Michael Scire c8e39a54d2 fs.mitm: add another game which needs stolen heap for layeredfs 2025-10-07 23:12:07 -07:00
Michael Scire 11a46e4579 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "583ae0fbf"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "583ae0fbf"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-10-07 17:34:00 -07:00
Michael Scire 652519da2e fssystem: fix support for parsing newer-format BKTR NCAs
Apparently, at some point they started allowing maxlayers=3, which caused this code to not work.

Looking at latest FS, they always reference DataStorage instead of level+2 for the final level.

This fixes parsing update romfs for newer games, e.g. Super Mario Galaxy 2.
2025-10-07 17:30:12 -07:00
Michael Scire de9b02007b git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "efd3d931a"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "efd3d931a"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-09-29 18:45:20 -07:00
Michael Scire 982f0e4fd4 ams: bump version, add enum support for 20.5.0 2025-09-29 18:44:40 -07:00
Michael Scire d7936d3fa4 exo: improve offset-table fix (save 8 bytes) 2025-09-02 19:50:08 -07:00
Michael Scire 1c0ea680b6 docs: add note about deadlock fix 2025-09-02 18:37:24 -07:00
Michael Scire b8ed942ae4 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "bbd085442"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "bbd085442"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-09-02 18:36:29 -07:00
Michael Scire 98bc030b37 ams.mitm: fix deadlock when building multiple romfs simultaneously (closes #1972) 2025-09-02 18:35:42 -07:00
Michael Scire 081e76a2b5 ams: bump version, add enum support for 20.4.0 2025-09-02 18:29:51 -07:00
Michael Scire e8de1e3c34 exo: fix register access tables to page start 2025-09-02 18:29:50 -07:00
Michael Scire 8b8e4438e8 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "bc7a0fc11"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "bc7a0fc11"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-07-29 15:17:41 -07:00
Michael Scire debfff9f62 ams: bump version, support 20.3.0 2025-07-29 15:16:51 -07:00
Michael Scire c77acb32be fs.mitm: steal some heap when building romfs for kotor2 (closes #2564) 2025-07-22 00:36:51 -07:00
Michael Scire af859d9e65 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "af10bca1b"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "af10bca1b"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-07-16 10:23:50 -07:00
Michael Scire a487efad6b ams: bump version, add 1.9.2 changelog 2025-07-16 10:23:05 -07:00
Michael Scire 7e0eb10e32 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "4e3615355"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "4e3615355"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-07-14 18:24:52 -07:00
Michael Scire 4a3e2b5c57 ams: add enum version support for 20.1.x/20.2.0 2025-07-14 18:24:09 -07:00
Michael Scire b11850b3a3 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "0f72b2ceb"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "0f72b2ceb"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-05-28 19:34:34 -07:00
Michael Scire 77603bf7e5 docs: add basic changelog for 1.9.1 2025-05-28 19:33:49 -07:00
Michael Scire 17be65b4b9 git subrepo push emummc
subrepo:
  subdir:   "emummc"
  merged:   "a8e5f1a18"
upstream:
  origin:   "https://github.com/m4xw/emummc"
  branch:   "develop"
  commit:   "a8e5f1a18"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-05-28 12:29:54 -07:00
Michael Scire 409c3cf9e1 emummc: note 20.1.0 support in README 2025-05-28 12:29:17 -07:00
Michael Scire f4e1d0bf9f kern: move spendsgir static assert 2025-05-28 12:18:51 -07:00
Michael Scire ae65b5df0c fusee/emummc: add support for FS 20.1.0 2025-05-28 12:02:56 -07:00
Michael Scire 0a299a3d40 erpt: update IDs for 20.1.0 2025-05-28 11:48:04 -07:00
Michael Scire 801438953d kern: save/restore spendsgir in KInterruptController::Save/RestoreCoreLocal 2025-05-28 10:54:52 -07:00
Michael Scire 3fbc59cce1 kern: wait 100us after synchronizing cores before saving interrupt state on sleep 2025-05-28 10:48:42 -07:00
Michael Scire f646d9c8f9 kern: use KLightLock for KCoreBarrierInterruptHandler 2025-05-28 10:44:31 -07:00
Michael Scire 69cc653e7f Add version enums for 20.1.0 2025-05-28 10:32:26 -07:00
Michael Scire 6da88f8f3e docs: add banner to readme 2025-05-27 22:24:41 -07:00
Michael Scire 1d3f3c6e56 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "9e8cbe3fa"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "9e8cbe3fa"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-05-09 12:11:13 -07:00
Michael Scire 4d4f0ba968 svc: bump supported kernel version 2025-05-09 12:05:01 -07:00
Michael Scire cc4531e3bf git subrepo push emummc
subrepo:
  subdir:   "emummc"
  merged:   "7522f1f60"
upstream:
  origin:   "https://github.com/m4xw/emummc"
  branch:   "develop"
  commit:   "7522f1f60"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2025-05-09 12:02:17 -07:00
Michael Scire 0e2ef545f9 fusee: commit mtc table combined bins, to remove need for running py script outside of makefile 2025-05-09 12:00:44 -07:00
Michael Scire f1ca7db562 boot: use --embed-dir for fusee embed 2025-05-09 11:58:56 -07:00
Michael Scire d5567b5363 pm: update for fsp-pr RegisterProgram api change 2025-05-09 11:55:21 -07:00
Michael Scire f9165c472e docs: add gcc15 to changelog 2025-05-09 11:55:21 -07:00
Michael Scire b2dd3b7dce boot: use #embed for fusee 2025-05-09 11:55:21 -07:00
Michael Scire 66acab02db exo: use #embed for loader stub 2025-05-09 11:55:21 -07:00
Michael Scire 2c50ef717a fusee: use embed in mtc/sdram param scripts 2025-05-09 11:55:21 -07:00
Michael Scire d305d48a7e ams: basic support for compiling with gcc 15 2025-05-09 11:55:21 -07:00
Michael Scire cb032006d5 fusee: fix off-by-one in nogc patches for exFAT firm 2025-05-09 11:55:21 -07:00
Michael Scire 8da6bc59a7 docs: add provisional changelog for ams 1.9.0 2025-05-09 11:55:21 -07:00
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