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
Michael Scire
797a6deaf3
ncm: hot take, uninitialized data bad
2022-03-23 09:16:03 -07:00
Michael Scire
d2163e1546
fs/sprof/build: fix minor issues
2022-03-23 09:16:03 -07:00
Michael Scire
396a63e5bb
boot2: launch omm before am
2022-03-23 09:16:02 -07:00
Michael Scire
7f987e17f3
pgl: style nitpick
2022-03-23 09:16:02 -07:00