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