Michael Scire
e4d08ae0c5
erpt: amend min-version for latest CreateReportWithAttachments
2023-10-12 08:55:58 -07:00
Michael Scire
02e987819b
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:55:58 -07:00
Michael Scire
2ec3e141c7
bpc.mitm/exo: support pmic reboot/shutdown on mariko (thanks @CTCaer)
2023-10-12 08:55:58 -07:00
Michael Scire
71d0274884
erpt: remove deprecated fields, they didn't actually change IDs, just the mapping between id and name table index
2023-10-12 08:55:58 -07:00
Michael Scire
aa170a72a9
erpt: Add basic (TODO-impl post-prerelease) support for 17.0.0 changes
2023-10-12 08:55:58 -07:00
Michael Scire
9d4cb685a7
fs: update OpenCodeFileSystem abi for 17.0.0
2023-10-12 08:55:58 -07:00
Michael Scire
c95741142e
ncm: update for new 17.0.0 apis
2023-10-12 08:55:58 -07:00
Michael Scire
114b82284d
exo/spl: Add new EsCommonKeyType
2023-10-12 08:55:58 -07:00
Michael Scire
c5d7ca5159
fusee/exo: implement the usual changes for new firmware support
2023-10-12 08:55:58 -07:00
Liam
159f8d384b
dmnt.gen2: enable attach to arbitrary program id
2023-10-11 19:50:09 -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
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
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
d8aed7de6d
ams: add 16.0.2 enum
2023-04-17 20:40:02 -07:00
Michael Scire
5efb4a2a98
docs: bump version, 16.0.1 exists too
2023-04-17 14:19:18 -07:00
Michael Scire
52f00731d9
settings: add os guard
2023-03-12 22:34:23 -07:00
ndeadly
bd9d8fff46
Add system setting to mirror bluetooth pairing database to sd card ( #1787 )
...
* ams_mitm: add ability to mirror bluetooth device pairing database to sd card via a system setting
* ams_mitm: address requested stylistic changes
* ams_mitm: make use of R_SUCCEED macro
* ams_mitm: use settings::BluetoothDevicesSettings instead of libnx type
* ams_mitm: fix logic error when truncating pairing database on read
* Update .ini comment
* ams_mitm: missing R_TRY around call to fs::FlushFile
* stratosphere: remove union from BluetoothDevicesSettings type
---------
Co-authored-by: ndeadly <24677491+ndeadly@users.noreply.github.com>
2023-03-10 10:06:38 -07:00
Michael Scire
cd9b173318
windows: re-enable lto for os/fs libraries
2023-03-09 23:46:31 -07:00
Michael Scire
68040e2922
windows: add brave new mingw compat hook for gcc 12.2.0+
2023-03-07 22:07:03 -07:00
Michael Scire
982389dceb
os: add UnsafeMemory apis
2023-03-01 03:20:49 -07:00
Michael Scire
33d42f4831
erpt: update server code for 16.0.0 logic changes
2023-02-23 21:51:51 -07:00
Michael Scire
8876eedfb0
ncm: alignment was changed for PlaceHolderId/ContentId in 16.0.0
2023-02-22 17:19:51 -08:00
Michael Scire
bbcee8c77c
ncm: fix inversion in activation skipping
2023-02-22 17:19:51 -08:00
Michael Scire
f7915c2c05
ncm: Add IntegratedContent*Impl
2023-02-22 17:19:51 -08:00
Michael Scire
668cabd4a2
ncm: first pass at ContentManagerImpl refactor (missing the IntegratedImpls, won't link)
2023-02-22 17:19:51 -08:00
Michael Scire
59b518783d
ncm: fix copy/paste error in switch case
2023-02-22 17:19:51 -08:00
Michael Scire
0ea5dbcfbb
libstrat: make build with new ncm/fs api changes (sysmodules probably fail to build)
2023-02-22 17:19:51 -08:00
Michael Scire
bb6446aada
erpt: update for new ids
2023-02-22 17:19:51 -08:00
Michael Scire
e46e7e0eb1
boot2: update for 16.0.0
2023-02-22 17:19:51 -08:00
Michael Scire
406320f6ec
kern: better divide non-secure size, don't waste fatal memory unless necessary
2023-02-22 17:19:51 -08:00
Michael Scire
8176f085f1
gpio: really not sure how this works before, lol
2023-01-30 23:13:45 -07:00
Michael Scire
04c9004e05
erpt: fix multiple issues with automatic report cleanup (thanks @yellows8)
...
* Setting retrieval was performed before the call that used the setting.
* Call to detect number of files passed incomplete path and was guaranteed to fail.
* Call to delete reports passed incomplete path and was guaranteed to do nothing.
2022-12-13 01:08:13 -07:00
Michael Scire
8ce4f19615
ncm: update enums, refactor comparison operators
2022-10-18 11:10:17 -07:00
Michael Scire
d178ea368a
lr: new AOC commands use MapAlias for paths...
2022-10-12 09:15:16 -07:00
Michael Scire
5ee7d8a5ed
kern: update for new device map semantics
2022-10-12 09:15:16 -07:00
Michael Scire
d00406e089
os: update os namespace for 15.0.0, loader/ro: update to use csrng, spl: bump max sessions
2022-10-12 09:15:16 -07:00
Michael Scire
dddb5bfdea
boot2: launch new eth sysmodule after bsdsockets
2022-10-12 09:15:16 -07:00
Michael Scire
ed0572bd53
erpt: update IDs for 15.0.0
2022-10-12 09:15:16 -07:00
Michael Scire
427130a122
ncm: update for new add on content/attr changes
2022-10-12 09:15:16 -07:00
Michael Scire
e1aff401ba
lr: add support for location resolver disable commands
2022-10-12 09:15:16 -07:00
Michael Scire
05de5538d6
ncm: GetContentAccessibilities, GetContentInfo*
2022-10-12 09:15:16 -07:00
Michael Scire
545765d167
ams/fuse: update version numbers, update DramId read logic
2022-10-12 09:15:16 -07:00
Michael Scire
28f0940c58
diag: fix process name cache
2022-08-11 14:19:26 -07:00
Michael Scire
d954e85826
fs/emummc: fix DirectoryRedirectionFileSystem not stripping prefix
2022-08-06 08:48:51 -07:00
Michael Scire
8e17feff94
os: pthread_yield is deprecated, don't use it on linux
2022-06-27 15:36:04 -07:00
Michael Scire
efa4a346af
os: silence warning building with gcc 12 on windows
2022-06-12 01:38:04 -07:00
Michael Scire
d75f9bbedf
fs: add extension GetEntryList to AesCtrCounterExtendedStorage
2022-06-11 16:54:02 -07:00
Michael Scire
ea7f51a279
os: fix whoops in SetMemoryPermission on windows
2022-06-11 00:58:14 -07:00
Michael Scire
a65b6df8d2
os: implement MemoryHeapManager, SetMemoryAttribute
2022-06-10 22:36:03 -07:00
Michael Scire
a975689c59
ams: address some warnings when building with gcc-12
2022-06-05 22:57:08 -07:00
Michael Scire
a809e23320
lr: update capacity constants to reflect 12.0.0 changes
2022-05-26 18:44:12 -07:00
Michael Scire
4db485083b
strat: update for code changes found in boot ( closes #1797 )
2022-05-05 17:45:55 -07:00
Michael Scire
3545c0aac2
ams: fs accuracy fixes, bump to 1.3.2
2022-04-29 16:14:01 -07:00
Michael Scire
d85875b910
os: fix various regressions since 1.3.1
2022-04-29 15:46:55 -07:00
Michael Scire
b1367942a2
os: fix minor bug (and simplify) MapProcessCodeMemory
2022-04-18 01:43:49 -07:00
Michael Scire
c2c0a2e169
ro/os: use os primitives for MapProcessCodeMemory
2022-04-18 01:39:22 -07:00
Michael Scire
f5052b4bca
loader: update for changes in 14.0.0
2022-04-17 20:11:05 -07:00
Michael Scire
70d67bb115
loader: use os apis for interacting with process memory
2022-04-17 18:51:36 -07:00
Michael Scire
9056e0b05f
strat: fix linux clang build
2022-04-17 14:01:03 -07:00
Michael Scire
dfba595cdc
fs: fix null check in AesXtsStorageExternal
2022-04-16 12:28:40 -07:00
Michael Scire
175a34da43
os: silence a maybe-uninit warning
2022-04-16 12:28:21 -07:00
Michael Scire
02b126c2be
os: refactor multi wait apis to better match Nintendo's latest implementation
2022-04-12 16:47:36 -07:00
Michael Scire
b45671fd35
fs: QueryEntry uses NonSecure buffers
2022-04-08 11:23:39 -07:00
Michael Scire
106599895d
fs: fix memory leak when path is reallocated ( closes #1842 )
2022-04-08 11:02:17 -07:00
Michael Scire
80154b0a54
os: broadcast, not signal, on release more than 1 sema
2022-04-07 12:17:13 -07:00
Michael Scire
72baa4ff18
ams: add enum recognition for 14.1.0
2022-04-04 17:44:56 -07:00
Michael Scire
442656899f
util: update some bit utility logic
2022-04-03 10:51:46 -07:00
Michael Scire
d7f89a0c31
fs: update signature for VerifySign1
2022-04-01 21:06:26 -07:00
Michael Scire
2e6223d9d0
fssystem: add unique lock apis
2022-03-28 14:29:22 -07:00
Michael Scire
28f11a86fd
fs: update romfs types
2022-03-28 13:57:06 -07:00
Michael Scire
a8b52dc123
fs: remove dead code
2022-03-28 08:37:08 -07:00
Michael Scire
9b47ddf01f
fs: update LocalFileSystem
2022-03-28 01:33:40 -07:00
Michael Scire
0fbf007bcf
fs: fixup all OperateRange implementations
2022-03-28 00:54:10 -07:00
Michael Scire
4ad8dad416
os: add DetachIoRegionHandle
2022-03-28 00:00:36 -07:00
Michael Scire
8e258bde9d
util: LockFreeAtomicType (for time)
2022-03-27 20:15:10 -07:00
Michael Scire
c0d5140ef0
strat: add windows socket api, linux/macos TODO
2022-03-27 14:36:31 -07:00
Michael Scire
1bef1b58d4
fs: also update comment, for locking
2022-03-26 15:29:38 -07:00
Michael Scire
07cd682460
fs: fix inverted optional-lock condition
2022-03-26 15:28:40 -07:00
Michael Scire
e5c3d264ec
fs: implement new 14.0.0 spl-ctr dispatch semantics
2022-03-26 15:21:12 -07:00
Michael Scire
bbf22b4c60
ams: globally prefer R_RETURN to return for ams::Result
2022-03-26 14:48:33 -07:00
Michael Scire
dd78ede99f
ams: use R_SUCCEED, R_THROW globally
2022-03-26 00:14:36 -07:00
Michael Scire
a4a2cc2218
fs: update IStorage::Check functions for 14.0.0
2022-03-25 23:29:36 -07:00
Michael Scire
5ffbed1bee
fs: update a few loose missed results
2022-03-25 10:02:55 -07:00
Michael Scire
ec44eaa263
fs: update nca drivers (and dependents/callees) for 14.0.0 changes
2022-03-25 09:48:24 -07:00
Michael Scire
20e53fcd82
fs: update HashGeneratorFactorySelector to reflect 14.0.0
2022-03-24 21:57:37 -07:00
SciresM
64c6ef2de7
fs: reduce path size 0x28 -> 0x18
...
This implements two optimizations on fs::Path, which N added in 12.0.0.
The current structure looks like:
```cpp
struct Path {
const char *m_str; // Points to the read-only path string
char *m_write_buffer_buffer; // Part of std::unique_ptr<char[], ams::fs::impl::Deleter>
ams::fs::impl::Deleter m_write_buffer_deleter; // Parse of std::unique_ptr<char[], ams::fs::impl::Deleter>, stores the size of the buffer.
size_t m_write_buffer_length; // Copy of the write buffer's size accessible to the Path() structure.
bool m_is_normalized; // Whether the path buffer is normalized
};
```
This is pretty wasteful. The write buffer size is stored twice, wasting 8 bytes, because one copy of the size isn't accessible to the path.
In addition, due to alignment, the bool wastes 7 padding bytes.
This commit:
* Encodes normalized in the low bit of the write buffer length, saving 8 bytes.
* Use a custom WriteBuffer class rather than generic unique_ptr, to avoid needing to store the WriteBuffer twice.
These each save 8 bytes, for a final size of 0x18 rather than 0x28.
2022-03-24 20:22:47 -07:00
Michael Scire
dfa475a769
util: add pointer utils, use to constrain fs pointers
2022-03-24 16:21:03 -07:00
Michael Scire
141ae5c7ab
fs: fix removed include
2022-03-24 13:31:49 -07:00
Michael Scire
4646581e93
fs: for my sanity, begin tracking version where code was last checked for accuracy
2022-03-24 08:43:40 -07:00
Michael Scire
6f54ab5716
fs: fix out of bounds access when parsing directory paths
2022-03-23 13:38:34 -07:00
Michael Scire
f23f490cb4
strat: fix clang build
2022-03-23 10:39:20 -07:00
Michael Scire
01fd324d4f
os/dd: add missing semicolon to new cache logic
2022-03-23 09:10:50 -07:00
Michael Scire
9d89835ff8
kern: update for new hw maintenance semantics
2022-03-23 09:10:50 -07:00
Michael Scire
14e768cd10
kern: add InfoType_IsSvcPermitted
2022-03-23 09:10:50 -07:00