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
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
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
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
db46d9d45e
settings: add os guard
2023-03-13 17:17:09 -07:00
ndeadly
2f6ea652d7
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-13 17:17:08 -07:00
Michael Scire
a1e186b715
windows: re-enable lto for os/fs libraries
2023-03-13 17:17:07 -07:00
Michael Scire
099982f909
windows: add brave new mingw compat hook for gcc 12.2.0+
2023-03-13 17:17:06 -07:00
Michael Scire
51e932c88f
os: add UnsafeMemory apis
2023-03-13 17:17:04 -07:00
Michael Scire
6cb324a89c
erpt: update server code for 16.0.0 logic changes
2023-03-13 17:17:03 -07:00
Michael Scire
af0d008900
ncm: alignment was changed for PlaceHolderId/ContentId in 16.0.0
2023-02-23 09:00:38 -07:00
Michael Scire
7a77f2ac8d
ncm: fix inversion in activation skipping
2023-02-23 09:00:38 -07:00
Michael Scire
f4a976c2c7
ncm: Add IntegratedContent*Impl
2023-02-23 09:00:37 -07:00
Michael Scire
a203daa849
ncm: first pass at ContentManagerImpl refactor (missing the IntegratedImpls, won't link)
2023-02-23 09:00:37 -07:00
Michael Scire
8cdda02e4d
ncm: fix copy/paste error in switch case
2023-02-23 09:00:36 -07:00
Michael Scire
1465b1447b
libstrat: make build with new ncm/fs api changes (sysmodules probably fail to build)
2023-02-23 09:00:35 -07:00
Michael Scire
c93b437ad7
erpt: update for new ids
2023-02-23 09:00:35 -07:00
Michael Scire
3cba51b85f
boot2: update for 16.0.0
2023-02-23 09:00:35 -07:00
Michael Scire
429f3aa49d
kern: better divide non-secure size, don't waste fatal memory unless necessary
2023-02-23 09:00:33 -07:00
Michael Scire
712c21a744
gpio: really not sure how this works before, lol
2023-02-23 09:00:26 -07:00
Michael Scire
5ba19935cb
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.
2023-01-24 14:39:17 -07:00
Michael Scire
b2232894f3
ncm: update enums, refactor comparison operators
2022-10-18 11:10:46 -07:00
Michael Scire
363fba0cf3
lr: new AOC commands use MapAlias for paths...
2022-10-12 09:15:52 -07:00
Michael Scire
cfe81a7eb3
kern: update for new device map semantics
2022-10-12 09:15:49 -07:00
Michael Scire
d408819335
os: update os namespace for 15.0.0, loader/ro: update to use csrng, spl: bump max sessions
2022-10-12 09:15:47 -07:00
Michael Scire
9d15378a54
boot2: launch new eth sysmodule after bsdsockets
2022-10-12 09:15:47 -07:00
Michael Scire
c75c993bf3
erpt: update IDs for 15.0.0
2022-10-12 09:15:47 -07:00
Michael Scire
e3da8b8cb1
ncm: update for new add on content/attr changes
2022-10-12 09:15:45 -07:00
Michael Scire
07494b1d42
lr: add support for location resolver disable commands
2022-10-12 09:15:45 -07:00
Michael Scire
bbb682ea36
ncm: GetContentAccessibilities, GetContentInfo*
2022-10-12 09:15:44 -07:00
Michael Scire
101b637afd
ams/fuse: update version numbers, update DramId read logic
2022-10-12 09:15:44 -07:00
Michael Scire
11cad64de1
diag: fix process name cache
2022-10-12 09:15:43 -07:00
Michael Scire
f660acb0cd
fs/emummc: fix DirectoryRedirectionFileSystem not stripping prefix
2022-10-12 09:15:43 -07:00
Michael Scire
5e73321aec
os: pthread_yield is deprecated, don't use it on linux
2022-10-12 09:15:41 -07:00
Michael Scire
d421817c86
os: silence warning building with gcc 12 on windows
2022-10-12 09:15:41 -07:00
Michael Scire
0ae75a5fd4
fs: add extension GetEntryList to AesCtrCounterExtendedStorage
2022-10-12 09:15:40 -07:00
Michael Scire
83aaf4904b
os: fix whoops in SetMemoryPermission on windows
2022-10-12 09:15:40 -07:00
Michael Scire
019a7600c7
os: implement MemoryHeapManager, SetMemoryAttribute
2022-10-12 09:15:40 -07:00
Michael Scire
932db3b92e
ams: address some warnings when building with gcc-12
2022-10-12 09:15:38 -07:00
Michael Scire
696cfb4862
lr: update capacity constants to reflect 12.0.0 changes
2022-10-12 09:15:37 -07:00
Michael Scire
95b3d39918
strat: update for code changes found in boot ( closes #1797 )
2022-10-12 09:15:37 -07:00
Michael Scire
b91294d3b9
ams: fs accuracy fixes, bump to 1.3.2
2022-04-29 16:14:24 -07:00
Michael Scire
01848bf7ac
os: fix various regressions since 1.3.1
2022-04-29 16:14:23 -07:00
Michael Scire
ee0cb14b97
os: fix minor bug (and simplify) MapProcessCodeMemory
2022-04-29 16:14:22 -07:00
Michael Scire
2702120d79
ro/os: use os primitives for MapProcessCodeMemory
2022-04-29 16:14:22 -07:00
Michael Scire
e5051619b6
loader: update for changes in 14.0.0
2022-04-29 16:14:21 -07:00
Michael Scire
aecf739a7c
loader: use os apis for interacting with process memory
2022-04-29 16:14:21 -07:00
Michael Scire
1ac83a92e5
strat: fix linux clang build
2022-04-29 16:14:20 -07:00
Michael Scire
91ef9bb92c
fs: fix null check in AesXtsStorageExternal
2022-04-29 16:14:19 -07:00
Michael Scire
0841242371
os: silence a maybe-uninit warning
2022-04-29 16:14:19 -07:00
Michael Scire
738f57cd37
os: refactor multi wait apis to better match Nintendo's latest implementation
2022-04-29 16:14:18 -07:00
Michael Scire
a6c096e833
fs: QueryEntry uses NonSecure buffers
2022-04-29 16:14:18 -07:00
Michael Scire
a309a1273e
fs: fix memory leak when path is reallocated ( closes #1842 )
2022-04-29 16:14:17 -07:00
Michael Scire
6d0e0bc135
os: broadcast, not signal, on release more than 1 sema
2022-04-29 16:14:17 -07:00
Michael Scire
590cdaf022
ams: add enum recognition for 14.1.0
2022-04-04 17:47:04 -07:00
Michael Scire
ddd98cb20b
util: update some bit utility logic
2022-04-04 17:47:04 -07:00
Michael Scire
0a6fec909b
fs: update signature for VerifySign1
2022-04-04 17:47:03 -07:00
Michael Scire
1aa71e6e44
fssystem: add unique lock apis
2022-04-04 17:47:03 -07:00
Michael Scire
08787303a2
fs: update romfs types
2022-04-04 17:47:02 -07:00
Michael Scire
8127091934
fs: remove dead code
2022-04-04 17:47:02 -07:00
Michael Scire
37089309b2
fs: update LocalFileSystem
2022-04-04 17:47:01 -07:00
Michael Scire
f2480c7b33
fs: fixup all OperateRange implementations
2022-04-04 17:47:01 -07:00
Michael Scire
b4da4ddb7e
os: add DetachIoRegionHandle
2022-04-04 17:47:01 -07:00
Michael Scire
bcaf3e8cd9
util: LockFreeAtomicType (for time)
2022-04-04 17:47:00 -07:00
Michael Scire
d47c54c70b
strat: add windows socket api, linux/macos TODO
2022-04-04 17:47:00 -07:00
Michael Scire
87f3e02042
fs: also update comment, for locking
2022-04-04 17:46:59 -07:00
Michael Scire
08c3748b87
fs: fix inverted optional-lock condition
2022-04-04 17:46:59 -07:00
Michael Scire
45db9a519b
fs: implement new 14.0.0 spl-ctr dispatch semantics
2022-04-04 17:46:58 -07:00
Michael Scire
6a5d2ced4b
ams: globally prefer R_RETURN to return for ams::Result
2022-04-04 17:46:58 -07:00
Michael Scire
6f4618ea60
ams: use R_SUCCEED, R_THROW globally
2022-04-04 17:46:57 -07:00
Michael Scire
99fba44125
fs: update IStorage::Check functions for 14.0.0
2022-04-04 17:46:57 -07:00
Michael Scire
e7d6626ef6
fs: update a few loose missed results
2022-04-04 17:46:56 -07:00
Michael Scire
cdadb5e9a2
fs: update nca drivers (and dependents/callees) for 14.0.0 changes
2022-04-04 17:46:56 -07:00
Michael Scire
05fdf2ae75
fs: update HashGeneratorFactorySelector to reflect 14.0.0
2022-04-04 17:46:55 -07:00
SciresM
974526f708
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-04-04 17:46:55 -07:00
Michael Scire
7a0bfc4397
util: add pointer utils, use to constrain fs pointers
2022-04-04 17:46:54 -07:00
Michael Scire
2c630d5514
fs: fix removed include
2022-04-04 17:46:53 -07:00
Michael Scire
0f8ae6e04b
fs: for my sanity, begin tracking version where code was last checked for accuracy
2022-04-04 17:46:53 -07:00
Michael Scire
726a7efddf
fs: fix out of bounds access when parsing directory paths
2022-03-23 13:45:36 -07:00
Michael Scire
652828c4f3
strat: fix clang build
2022-03-23 11:25:20 -07:00
Michael Scire
d97cdde1aa
os/dd: add missing semicolon to new cache logic
2022-03-23 09:16:08 -07:00
Michael Scire
d066ac3d69
kern: update for new hw maintenance semantics
2022-03-23 09:16:06 -07:00
Michael Scire
a3b74aece9
kern: add InfoType_IsSvcPermitted
2022-03-23 09:16:04 -07:00