Commit graph

1627 commits

Author SHA1 Message Date
Michael Scire
337fcf07a4 ncm: work around change in Nintendo save handling behavior
Static save files do not require an entry in the save data indexer to mount.
Prior to 17.0.0, save data files were considered static if userid was 0.
In 17.0.0+, only 8000000000000000 is static.

However, some users using cfw do not have an entry for 8000000000000120 in the indexer,
for various reasons (but mostly manual nand-restore, I think). Thus, on boot of 17.0.0+,
FS will say 8000000000000120 is not present (not in indexer), and NCM will create it anew.

The 8000000000000120 save will then be empty, and then the firmware can't boot.

To workaround this, logic has been re-enabled on 17.0.0+ for building the content meta database.
Thus, if the user encounters this error, the 8000000000000120 save will be emptied, but then
it will be automatically reconstructed, fixing the problem.
2023-10-12 08:17:05 -07:00
Michael Scire
89a7b2df35 bpc.mitm/exo: support pmic reboot/shutdown on mariko (thanks @CTCaer) 2023-10-11 18:50:38 -07:00
Michael Scire
0569392faf erpt: remove deprecated fields, they didn't actually change IDs, just the mapping between id and name table index 2023-10-11 17:48:40 -07:00
Michael Scire
618569faef erpt: Add basic (TODO-impl post-prerelease) support for 17.0.0 changes 2023-10-11 13:32:22 -07:00
Michael Scire
db66509564 fs: update OpenCodeFileSystem abi for 17.0.0 2023-10-11 12:45:11 -07:00
Michael Scire
13ee9a83cd ncm: update for new 17.0.0 apis 2023-10-11 12:31:37 -07:00
Michael Scire
3079578ece exo/spl: Add new EsCommonKeyType 2023-10-11 11:03:17 -07:00
Michael Scire
1060eda6ca fusee/exo: implement the usual changes for new firmware support 2023-10-11 10:55:34 -07:00
Michael Scire
bb825d6a72 kern: fix assert usage in process load 2023-10-11 10:20:47 -07:00
Michael Scire
82fde6e11d kern: bump supported version to 17.x 2023-10-11 10:13:48 -07:00
Michael Scire
baceaf9f84 kern: fix operation type enum-value whoops 2023-10-11 10:12:54 -07:00
Michael Scire
7728efce67 kern: implement support for applying relr relocations 2023-10-11 10:12:20 -07:00
Michael Scire
bc6d207469 kern: split Process/Thread exit to separate WorkerTaskManagers 2023-10-11 09:57:58 -07:00
Michael Scire
e61f20ce18 kern: split out GetInstructionDataUserMode in exception handler 2023-10-11 09:51:40 -07:00
Michael Scire
c8ff437971 kern: Add special-case for InvalidateProcessDataCache on current process 2023-10-11 09:37:45 -07:00
Michael Scire
46ccb6d71a kern: KPageTable: remove MapFirst operation, replace with MapFirstGroup 2023-10-11 09:32:23 -07:00
Michael Scire
a991bb2f5b kern: note OnFinalize calls in KPageTable::Finalize 2023-10-11 09:16:52 -07:00
Michael Scire
4805a8cfd7 kern: implement new default application system resource field in KProcess 2023-10-11 09:13:59 -07:00
Michael Scire
c9ff97f041 kern: update KMemoryRegionType values for new ids + SecureUnknown region 2023-10-11 08:52:46 -07:00
Michael Scire
b8b04d1bf3 kern: KSupervisorPageTable now checks wxn instead of setting it 2023-10-11 08:41:36 -07:00
Michael Scire
c82d363682 kern: KPageTable::Initialize no longer takes unused process id 2023-10-11 08:29:07 -07:00
Michael Scire
d020426fe2 kern: implement PermissionLock, update KPageTableBase attribute/alignment checks 2023-10-11 07:59:37 -07:00
Michael Scire
adfe8b933e kern: KPageTableBase::CheckMemoryState now invokes a helper 2023-10-11 05:11:50 -07:00
Michael Scire
5aba96d029 kern: update KMemoryState, remove bijection (separate IoRegister/IoMemory) 2023-10-11 05:00:23 -07:00
Michael Scire
545ddaf92c kern: update initial process load logic to do per-segment mapping/decompression 2023-10-11 04:26:30 -07:00
Michael Scire
c81d787dc3 kern: clear new pages in init page allocator, not init page table 2023-10-11 03:27:45 -07:00
Michael Scire
b9a4c2bdba kern: add speculation barriers after eret 2023-10-11 03:21:06 -07:00
Michael Scire
9e99f36d7c kern: remove unnecessary fields from InitArgs (0x80 -> 0x40) 2023-10-11 03:10:08 -07:00
Michael Scire
3f619a1fef kern/ldr: move crt0 into .rodata 2023-10-11 02:59:41 -07:00
Michael Scire
2a060d2645 kern: pass ini1 size from loader to kernel, remove slab memset from init0 2023-10-11 02:02:49 -07:00
Michael Scire
de73f6c5bb git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "c3dc418a2"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "c3dc418a2"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2023-08-21 17:27:16 -07:00
Michael Scire
e488b6ee47 ams: add enum recognition for 16.1.0 2023-08-21 17:26:27 -07:00
Michael Scire
99810dc091 fssystem: fix typo error in BucketTree::Visitor::MoveNext 2023-08-15 14:47:09 -07:00
Liam
e54957285f libstrat: comment fixes for fssystem 2023-08-12 11:33:29 -07:00
Michael Scire
fca213460b libstrat: fix more minor style issues pointed out by Pharynx 2023-08-10 11:48:28 -07:00
Michael Scire
4e6bd19fcd fssystem: fix stupid issue in NodeBuffer move-ctor
Code compiles with this constructor deleted, so it wasn't used, but even so...
2023-08-03 16:58:55 -07:00
Michael Scire
8b88351cb4 mitm: fix errant include on non-hos 2023-06-06 19:32:06 -07:00
Michael Scire
3cb54e2b4b git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "f4a966eb4"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "f4a966eb4"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2023-05-14 03:17:20 -07:00
Michael Scire
e9de11a746 ams: bump version to 1.5.4 2023-05-14 03:16:27 -07:00
SciresM
f2ee44da74
romfs/ams.mitm/pm: refactor to dynamically steal heap for certain games. (#2122)
* fs.mitm: skeleton the use of special allocation in romfs build

* pm: add api for ams.mitm to steal application memory

* pm/mitm: okay, that api won't work, try a different one

* romfs: revert memory usage increases; we'll handle torture games case-by-case.

* pm/romfs: first (broken?) pass at dynamic heap.

I cannot wait to figure out all the ways this is wrong.

* Release the dynamic heap a little more eagerly

* romfs: animal crossing is also not a nice game

* romfs: fix issues in close-during-build

* romfs: zelda is a blight upon this earth
2023-05-14 03:06:52 -07:00
Michael Scire
7e6c849ca4 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "cd0fc2c1d"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "cd0fc2c1d"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2023-05-08 18:06:50 -07:00
Michael Scire
b800953d66 ams: recognize 16.0.3('s FS) 2023-05-08 17:51:13 -07:00
Michael Scire
1f5ec68a5c ams: fix compilation with gcc 13 2023-05-07 03:36:46 -07:00
Michael Scire
ed9e60acb9 kern: track heap in KPageTableBase::MemoryRange 2023-04-30 16:50:53 -07:00
Michael Scire
9f83b3c838 ams: I really need to automate keeping this in sync 2023-04-17 20:57:57 -07:00
Michael Scire
434c8cefc4 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "ecc8b1811"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "ecc8b1811"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2023-04-17 20:40:41 -07:00
Michael Scire
d8aed7de6d ams: add 16.0.2 enum 2023-04-17 20:40:02 -07:00
Michael Scire
0c6a06a0cf git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "7340e2eab"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "7340e2eab"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2023-04-17 14:19:59 -07:00
Michael Scire
5efb4a2a98 docs: bump version, 16.0.1 exists too 2023-04-17 14:19:18 -07:00
Michael Scire
e9b28ab4b1 kern: adjust wording to be more technically correct 2023-03-27 10:54:58 -07:00