Commit Graph

1796 Commits

Author SHA1 Message Date
Michael Scire
2125f3c404 ncm: better detect + fix 17 brick after-the-fact
This adds detection for missing-save or empty-save, and rebuilds in either case.
2023-10-16 12:30:44 -07:00
Liam
8d495c256e fs: add missing stub for GetProgramId 2023-10-16 12:30:44 -07:00
Michael Scire
74d96b5fea kern: fix minor sin 2023-10-16 12:30:43 -07:00
Michael Scire
132558c338 erpt: amend min-version for latest CreateReportWithAttachments 2023-10-12 09:22:33 -07:00
Michael Scire
5d5699a7e8 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 09:22:32 -07:00
Michael Scire
338d7ce940 bpc.mitm/exo: support pmic reboot/shutdown on mariko (thanks @CTCaer) 2023-10-12 09:22:32 -07:00
Michael Scire
77ae1814ff erpt: remove deprecated fields, they didn't actually change IDs, just the mapping between id and name table index 2023-10-12 09:22:32 -07:00
Michael Scire
054eeddc0c erpt: Add basic (TODO-impl post-prerelease) support for 17.0.0 changes 2023-10-12 09:22:30 -07:00
Michael Scire
ee56715f3f fs: update OpenCodeFileSystem abi for 17.0.0 2023-10-12 09:22:30 -07:00
Michael Scire
c9a576e990 ncm: update for new 17.0.0 apis 2023-10-12 09:22:29 -07:00
Michael Scire
38cc50294b exo/spl: Add new EsCommonKeyType 2023-10-12 09:22:29 -07:00
Michael Scire
5c8a8adc9a fusee/exo: implement the usual changes for new firmware support 2023-10-12 09:22:28 -07:00
Michael Scire
2c77b3e1e3 kern: fix assert usage in process load 2023-10-12 09:22:28 -07:00
Michael Scire
a2cdc8626d kern: bump supported version to 17.x 2023-10-12 09:22:27 -07:00
Michael Scire
224be3e9f1 kern: fix operation type enum-value whoops 2023-10-12 09:22:27 -07:00
Michael Scire
d211eb4de7 kern: implement support for applying relr relocations 2023-10-12 09:22:27 -07:00
Michael Scire
a55dbf0819 kern: split Process/Thread exit to separate WorkerTaskManagers 2023-10-12 09:22:27 -07:00
Michael Scire
d213377313 kern: split out GetInstructionDataUserMode in exception handler 2023-10-12 09:22:26 -07:00
Michael Scire
e07b0a924d kern: Add special-case for InvalidateProcessDataCache on current process 2023-10-12 09:22:26 -07:00
Michael Scire
6dcf506423 kern: KPageTable: remove MapFirst operation, replace with MapFirstGroup 2023-10-12 09:22:25 -07:00
Michael Scire
7ac90cdb0d kern: note OnFinalize calls in KPageTable::Finalize 2023-10-12 09:22:25 -07:00
Michael Scire
dfbd37e448 kern: implement new default application system resource field in KProcess 2023-10-12 09:22:25 -07:00
Michael Scire
9d485e7df9 kern: update KMemoryRegionType values for new ids + SecureUnknown region 2023-10-12 09:22:25 -07:00
Michael Scire
9f51df06d5 kern: KSupervisorPageTable now checks wxn instead of setting it 2023-10-12 09:22:24 -07:00
Michael Scire
41eea11a19 kern: KPageTable::Initialize no longer takes unused process id 2023-10-12 09:22:24 -07:00
Michael Scire
15ca0c1b10 kern: implement PermissionLock, update KPageTableBase attribute/alignment checks 2023-10-12 09:22:24 -07:00
Michael Scire
d4319842a9 kern: KPageTableBase::CheckMemoryState now invokes a helper 2023-10-12 09:22:23 -07:00
Michael Scire
c8f04e21e5 kern: update KMemoryState, remove bijection (separate IoRegister/IoMemory) 2023-10-12 09:22:23 -07:00
Michael Scire
2c2aa8b57c kern: update initial process load logic to do per-segment mapping/decompression 2023-10-12 09:22:23 -07:00
Michael Scire
a6e34647de kern: clear new pages in init page allocator, not init page table 2023-10-12 09:22:22 -07:00
Michael Scire
8d84b5776f kern: add speculation barriers after eret 2023-10-12 09:22:22 -07:00
Michael Scire
d21f281094 kern: remove unnecessary fields from InitArgs (0x80 -> 0x40) 2023-10-12 09:22:22 -07:00
Michael Scire
3abc567a73 kern/ldr: move crt0 into .rodata 2023-10-12 09:22:21 -07:00
Michael Scire
ba1a07db68 kern: pass ini1 size from loader to kernel, remove slab memset from init0 2023-10-12 09:22:21 -07:00
Liam
540ca1351a dmnt.gen2: enable attach to arbitrary program id 2023-10-12 09:22:20 -07:00
Michael Scire
c3dc418a28 ams: add enum recognition for 16.1.0 2023-08-21 17:26:50 -07:00
Michael Scire
ea17b60da6 fssystem: fix typo error in BucketTree::Visitor::MoveNext 2023-08-21 17:26:50 -07:00
Liam
05852b0ffd libstrat: comment fixes for fssystem 2023-08-21 17:26:50 -07:00
Michael Scire
450218773f libstrat: fix more minor style issues pointed out by Pharynx 2023-08-21 17:26:49 -07:00
Michael Scire
f6abe32331 fssystem: fix stupid issue in NodeBuffer move-ctor
Code compiles with this constructor deleted, so it wasn't used, but even so...
2023-08-21 17:26:49 -07:00
Michael Scire
390356cd9e mitm: fix errant include on non-hos 2023-08-21 17:26:49 -07:00
Michael Scire
f4a966eb4c ams: bump version to 1.5.4 2023-05-14 03:16:43 -07:00
SciresM
4e7ae82b38 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:16:42 -07:00
Michael Scire
cd0fc2c1d5 ams: recognize 16.0.3('s FS) 2023-05-08 18:06:09 -07:00
Michael Scire
5d883f22c8 ams: fix compilation with gcc 13 2023-05-08 18:06:07 -07:00
Michael Scire
2db2e41398 kern: track heap in KPageTableBase::MemoryRange 2023-05-08 18:06:06 -07:00
Michael Scire
94a2fce05e ams: I really need to automate keeping this in sync 2023-05-08 18:06:04 -07:00
Michael Scire
ecc8b18111 ams: add 16.0.2 enum 2023-04-17 20:40:16 -07:00
Michael Scire
7340e2eaba docs: bump version, 16.0.1 exists too 2023-04-17 14:19:32 -07:00
Michael Scire
c1e9ba08dc kern: adjust wording to be more technically correct 2023-04-17 14:19:31 -07:00