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
Michael Scire
3cb54e2b4b
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "f4a966eb4"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "f4a966eb4"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2023-05-14 03:17:20 -07:00
Michael Scire
e9de11a746
ams: bump version to 1.5.4
2023-05-14 03:16:27 -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
7e6c849ca4
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "cd0fc2c1d"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "cd0fc2c1d"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2023-05-08 18:06:50 -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
ed9e60acb9
kern: track heap in KPageTableBase::MemoryRange
2023-04-30 16:50:53 -07:00
Michael Scire
9f83b3c838
ams: I really need to automate keeping this in sync
2023-04-17 20:57:57 -07:00
Michael Scire
434c8cefc4
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "ecc8b1811"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "ecc8b1811"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2023-04-17 20:40:41 -07:00
Michael Scire
d8aed7de6d
ams: add 16.0.2 enum
2023-04-17 20:40:02 -07:00
Michael Scire
0c6a06a0cf
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "7340e2eab"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "7340e2eab"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2023-04-17 14:19:59 -07:00
Michael Scire
5efb4a2a98
docs: bump version, 16.0.1 exists too
2023-04-17 14:19:18 -07:00
Michael Scire
e9b28ab4b1
kern: adjust wording to be more technically correct
2023-03-27 10:54:58 -07:00
Michael Scire
8274081e39
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "b1607dc8a"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "b1607dc8a"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2023-03-13 17:17:50 -07:00
Michael Scire
f1ad26ce84
ams: bump version
2023-03-13 17:16:51 -07:00
Michael Scire
52f00731d9
settings: add os guard
2023-03-12 22:34:23 -07:00
Michael Scire
476d658a79
ams: allow convertible-to-result in abort print macros
2023-03-11 15:14:33 -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
61e3f0b391
windows: disable -fdata-sections
...
This causes all data to be emitted as .data$*. This breaks fzero-initialized-in-bss,
because linker puts stuff in .data even when it's all-zero and should end up in .bss.
2023-03-09 23:46:54 -07:00
Michael Scire
cd9b173318
windows: re-enable lto for os/fs libraries
2023-03-09 23:46:31 -07:00
Michael Scire
a8df400825
kern: fix stray addressof operator
2023-03-08 09:46:38 -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
8da4d14e15
kern: minor cleanup (thanks @liamwhite)
2023-03-06 21:18:00 -07:00
Michael Scire
982389dceb
os: add UnsafeMemory apis
2023-03-01 03:20:49 -07:00
Michael Scire
3292ea5970
kern: fix stray comment copy/paste error
2023-02-23 22:00:00 -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
46094cfb3e
kern: increase non-dynamic heap sizes to 8 GB to match
2023-02-23 19:05:52 -07:00
Michael Scire
618691a500
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "af0d00890"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "af0d00890"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2023-02-23 09:01:41 -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
d64ab354ad
kern: 16.x web applet crashes on exit with 48 MB stolen (rip)
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
6462101b6f
strat: fix sysmodule building, bump version so I don't forget later
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
e85a512cf4
fusee/exo: implement the usual changes for new firmware support
2023-02-22 17:19:51 -08:00
Michael Scire
7d9fea01c3
kern: bump supported version to 16.x
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
aad2be0a01
kern: delete creation time field from KProcess
2023-02-22 17:19:51 -08:00
Michael Scire
25383db524
kern: add InfoType_IoRegionHint
2023-02-22 17:19:51 -08:00
Michael Scire
48f4c526f3
kern: refactor priority inheritance to represent locks as C++ objects
2023-02-22 17:19:51 -08:00
Michael Scire
1279d236f3
kern: remove unnecessary interrupt disables from arbiter/condvar
2023-02-22 17:19:51 -08:00
Michael Scire
008eb974d4
kern: KConditionVariable::SignalToAddress now emits dmb before userspace write
2023-02-22 17:19:51 -08:00
Michael Scire
035cebef9d
kern: refactor init (kill identity map, merge cpu on logic)
2023-02-22 17:19:51 -08:00
Michael Scire
8db22967bf
kern: use variable-count parameter arrays for DebugEvents
2023-02-22 17:19:51 -08:00
Michael Scire
db510f96c3
kern: update KSystemControl::InitializePhase1, dynamically scale 39-bit address space regions
2023-02-22 17:19:51 -08:00
Michael Scire
6e2dd791b2
kern: update for new ChangePermissions page table operation
2023-02-22 17:19:51 -08:00
Michael Scire
bff61c68ab
kern: adjust pool allocations
2023-02-22 17:19:51 -08:00
Michael Scire
ca7734ffaf
kern: simplify KSchedulerLock::Lock
2023-02-22 17:19:51 -08:00
Michael Scire
ed22f802ee
kern: allow QueryIoMapping to find Static mappings
2023-02-22 17:19:51 -08:00
Michael Scire
8ffc177b44
kern: update UnmapIoRegion for new Mapping_Memory handling
2023-02-22 17:19:51 -08:00
Michael Scire
c058376b3b
kern: use tree for IoPool regions instead of list
2023-02-22 17:19:51 -08:00
Michael Scire
d5ebf13094
kern: optimize userspace access asm to use cheaper instruction in io memory loops
2023-02-22 17:19:51 -08:00
Michael Scire
695c125721
kern: use different psr masks for 64 and 32-bit El0 threads
2023-02-22 17:19:51 -08:00
Michael Scire
e7e3e7b374
kern: increase stack parameter size by 0x10
2023-02-22 17:19:51 -08:00
Michael Scire
3a5f406c5f
kern: update scheduler for new switch count tracking logic
2023-02-21 03:12:17 -07:00
Michael Scire
8176f085f1
gpio: really not sure how this works before, lol
2023-01-30 23:13:45 -07:00
Michael Scire
7a69f2f062
kern/pm: only steal 8 MB from applet.
...
WebApplet crashes on exit with 16 more MB stolen, apparently.
2023-01-24 19:54:28 -07:00
Michael Scire
32b590e7ab
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "b7711b8fb"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "b7711b8fb"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2023-01-24 14:39:54 -07:00
Michael Scire
590f22933d
docs/ams: bump version to 1.4.1
2023-01-24 14:39:06 -07:00
Michael Scire
0dd071b279
romfs: thank you fire emblem, very cool ( closes #2021 )
2023-01-24 14:07:50 -07:00
Michael Scire
77cc53227a
sdmmc: fix wrong mode select for GcAsic(Fpga)Speed
2023-01-19 21:47:19 -07:00
Michael Scire
59a295db79
sdmmc: fix missing call to GetSdStatus at non-uhsi mode
2023-01-19 21:44:44 -07:00
Michael Scire
e4b9930bf3
kern: fix unnecessarily strong load in aligned spinlock
...
Copy-paste error I didn't notice for two years, whoops
2022-12-25 01:56:31 -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
1f8798ace7
kern: fix GetProcessId wrong result on invalid parameter
2022-12-04 13:40:44 -07:00
Michael Scire
e3ace4be15
exo: fix MemoryArrange enum typo
2022-10-19 15:18:08 -07:00
Michael Scire
36a33617a4
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "b2232894f"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "b2232894f"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2022-10-18 11:11:09 -07:00
Michael Scire
8ce4f19615
ncm: update enums, refactor comparison operators
2022-10-18 11:10:17 -07:00
Michael Scire
e580c3970c
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "363fba0cf"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "363fba0cf"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2022-10-12 09:16:51 -07:00
Michael Scire
d178ea368a
lr: new AOC commands use MapAlias for paths...
2022-10-12 09:15:16 -07:00
Michael Scire
bf4fdf6188
kern: update for new exception flag semantics
2022-10-12 09:15:16 -07:00
Michael Scire
13238fc4fd
kern: use slab allocated KSessionRequest dynamic mappings
2022-10-12 09:15:16 -07:00
Michael Scire
e7a1e0fee2
kern: implement Svc(Un)MapInsecureMemory
2022-10-12 09:15:16 -07:00
Michael Scire
5a918f3bc9
kern: move SecureAppletMemory/KPageBuffer heap into the ResourceRegion
2022-10-12 09:15:16 -07:00
Michael Scire
ea82889e6c
kern: increase stack region size when thread resource limit is increased
2022-10-12 09:15:16 -07:00
Michael Scire
7f2cbba543
kern: Implement new PageTable operations/PhysicalMemory reference semantics
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
947fdcf6f6
kern: merge/simplify KInterruptEventTask into KInterruptEvent
2022-10-12 09:15:16 -07:00
Michael Scire
2e73f33eb0
kern: implement K(Secure)SystemResource
2022-10-12 09:15:16 -07:00
Michael Scire
752704a798
kern: update handle table init
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
0ebbbc839f
fusee/exo: fix up dram id names/mappings
2022-10-12 09:15:16 -07:00
hexkyz
275c0234cb
exo: add new dram ids
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
9929517a83
fusee/exo: enum support for 15.0.0
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
Liam
e702eab21c
KScheduler: fix documentation mistakes
2022-06-29 17:28:26 -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
20d200471d
kern: optimize postfix-compare to prefix-compare, result logic is identical but breaks earlier in some paths
2022-06-07 23:49:31 -07:00
Michael Scire
5f2d713fe4
kern: mea culpa (some time since 7.x)
2022-06-07 23:40:32 -07:00
Michael Scire
36bdb83cfc
util: prevent optimizer from removing endian-swapped writes
2022-06-05 22:57:18 -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
e96972c939
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "b91294d3b"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "b91294d3b"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2022-04-29 16:15:06 -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
895b6d0470
optional: add c++23 monadic interface
2022-04-17 12:17:25 -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
b52e44e798
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "590cdaf02"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "590cdaf02"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2022-04-04 17:47:56 -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
817ad8f98d
util: pointer traits only if <memory>/stratosphere
2022-03-24 18:24:19 -07:00
Michael Scire
dfa475a769
util: add pointer utils, use to constrain fs pointers
2022-03-24 16:21:03 -07:00