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
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
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
80154b0a54
os: broadcast, not signal, on release more than 1 sema
2022-04-07 12:17:13 -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
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
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
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
Michael Scire
a89c5dd5d7
ncm: hot take, uninitialized data bad
2022-03-23 09:10:50 -07:00
Michael Scire
dfcb5005d2
fs/sprof/build: fix minor issues
2022-03-23 09:10:50 -07:00
Michael Scire
07f91f0a83
boot2: launch omm before am
2022-03-23 09:10:50 -07:00
Michael Scire
81005fa3f8
pgl: style nitpick
2022-03-23 09:10:50 -07:00
Michael Scire
60d78bbf75
pgl: hook up logic for enabling extra system threads
2022-03-23 09:10:50 -07:00
Michael Scire
247852db3a
pm: hook up the new libnx apis
2022-03-23 09:10:50 -07:00
Michael Scire
86f98e49c7
sf: add another sanity assert
2022-03-23 09:10:50 -07:00
Michael Scire
3579797309
sf: add new debug-interface-id in cmif out header
2022-03-23 09:10:50 -07:00
Michael Scire
77b3bfcd16
sprofile: fix/simplify import count calculation
2022-03-23 09:10:50 -07:00
Michael Scire
e05df99342
pm/kern: update for 14.0.0
2022-03-23 09:10:50 -07:00
Michael Scire
0cfc93d423
sprofile: update for 14.0.0 (orphaned profiles now deleted on import)
2022-03-23 09:10:50 -07:00
Michael Scire
320a946fc7
ncm: update client code to better reflect latest sysupdate
2022-03-21 17:21:44 -07:00
Michael Scire
ca142889c4
strat: only include windows.h in translation units where actually needed
2022-03-21 17:21:44 -07:00
Michael Scire
c35114bacc
fs: utilities for hac2l to print gc headers
2022-03-21 17:21:44 -07:00
Michael Scire
2d984822c6
fs: add gc validation wrappers for hac2l
2022-03-21 17:21:44 -07:00
Michael Scire
32d443977e
fs: add indirection to raw storage open, for hac2l
2022-03-21 17:21:44 -07:00
Michael Scire
9911c44670
lz4: update to git-master
2022-03-21 17:21:44 -07:00
Michael Scire
741efd04ec
strat: minor result/overflow check fixes
2022-03-21 17:21:44 -07:00
Michael Scire
e13b81aa9e
fs: revise allocation-fail result names
2022-03-21 17:21:44 -07:00
Michael Scire
11e4bed199
strat: revise fs unsupported operation results, add overflow utils
2022-03-21 17:21:44 -07:00
Michael Scire
da1b24b9b5
fs: fix locking in FileSystemBufferManager
2022-03-21 17:21:44 -07:00
Michael Scire
cb3d20ef79
fs: fix clang-build, os: StackGuardManager
2022-03-21 17:21:44 -07:00
Michael Scire
be9338eb33
fs: move bitmap classes out of save::
2022-03-21 17:21:44 -07:00
Michael Scire
d638bbbb62
fs: first pass at compressed storage (works on iridium with wip hac2l code)
2022-03-21 17:21:44 -07:00
Michael Scire
df631d74f0
fssrv: add ExternalKeyManager (rights-id crypto) for hac2l
2022-03-21 17:21:44 -07:00
Michael Scire
3c6d965e1a
symbols: use same strategy on windows as on macOS
2022-03-21 17:21:44 -07:00
Michael Scire
49cddd68e4
use cxxabi for demangling on linux/windows
2022-03-21 17:21:44 -07:00
Michael Scire
ee5f99fdb4
Implement working macOS backtrace symbolization
2022-03-21 17:21:44 -07:00
Michael Scire
7456a77ba9
os: add working stack logic for macOS
2022-03-21 17:21:44 -07:00
Michael Scire
a3865e721a
fix stack getting on linux, add test
2022-03-21 17:21:44 -07:00
Michael Scire
6aab36fc6a
diag: fix typo in hos-specific backtrace getter
2022-03-21 17:21:44 -07:00
Michael Scire
646f84bad1
abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)
2022-03-21 17:21:44 -07:00
Michael Scire
edf80192d9
remove leftover debug print
2022-03-21 17:21:44 -07:00
Michael Scire
13697fa921
libs: add ongoing work to facilitate hactool rewrite
2022-03-21 17:21:44 -07:00
Michael Scire
706b8492fd
libs: begin adding capacity for doing crypto on generic os (using externally-preset keys)
2022-03-21 17:21:44 -07:00
Michael Scire
6368d8063a
fs: add just in case bounds checking to linux/macos dirent read
2022-03-21 17:21:44 -07:00
Michael Scire
1933f35db6
add basic tests for os::Event/SystemEvent functionality
2022-03-21 17:21:44 -07:00
Michael Scire
64a97576d0
ams: support building unit test programs on windows/linux/macos
2022-03-21 17:21:44 -07:00
Michael Scire
9a38be201a
erpt: add automatic report cleanup mechanism on boot ( closes #1795 )
2022-03-17 00:31:38 -07:00
Michael Scire
2b6719ec25
ams_mitm: update to use new NcaFileSystemDriver intf
2022-02-21 15:17:17 -08:00
Michael Scire
01f7f567b9
fs: add Sha256HashGenerator, LZ4 decompressor
2022-02-21 15:17:17 -08:00
Michael Scire
52296fc2dd
fs: revise NcaFileSystemDriver for latest semantics
2022-02-21 15:17:17 -08:00
Michael Scire
ccf29a1302
fssystem: revise allocator logic for latest semantics
2022-02-21 15:17:17 -08:00
Michael Scire
28ea6555f8
fssrv: flesh out the program registry
2022-02-21 15:17:17 -08:00
Michael Scire
e8d14eb77d
fssrv: skeleton more program registry logic
2022-02-21 15:17:17 -08:00
Michael Scire
33701bb387
fssrv: add skeleton getters for service object sf::SharedPointers
2022-02-21 15:17:17 -08:00
Michael Scire
64b4cc25fc
fs: implement newer allocator templates
2022-02-21 15:17:17 -08:00
Michael Scire
ace409ccec
fssrv: skeleton server manager setup/registration
2022-02-21 15:17:17 -08:00
Michael Scire
94de5bf4f4
fs: add skeleton dir for sysmodule code
...
Please note this isn't likely to immediately be the active ams project.
2022-02-21 15:17:17 -08:00
Michael Scire
7668dfb756
lib: add missing semicolon
2022-02-16 12:55:12 -08:00
SciresM
96f95b9f95
Integrate new result macros. ( #1780 )
...
* result: try out some experimental shenanigans
* result: sketch out some more shenanigans
* result: see what it looks like to convert kernel to use result conds instead of guards
* make rest of kernel use experimental new macro-ing
2022-02-14 14:45:32 -08:00
Michael Scire
375ba615be
typofix: boogaloo: electric.
2022-02-10 19:49:05 -08:00
Michael Scire
42124fd7d8
fix typo-bug in HierarchicalSha256Storage::Read
2022-02-10 19:43:00 -08:00
Michael Scire
30fac905af
ams: deduplicate static initialization logic
2021-12-13 13:07:03 -08:00
Michael Scire
09c6aa29dd
sf/cmif: optimize dispatch table walk to use binary search over linear search
2021-12-06 13:13:46 -08:00
Léo Lam
496adb0018
Minor header fixes to reduce parsing issues with Clang ( #1700 )
...
* Work around Clang's incomplete C++20 support for omitting typename
* vapours: fix Clang error about missing return in constexpr function
* stratosphere: fix call to non-constexpr strlen in constexpr function
strlen being constexpr is a non-compliant GCC extension; Clang
explicitly rejects it: https://reviews.llvm.org/D23692
* stratosphere: add a bunch of missing override specifiers
* stratosphere: work around Clang consteval bug
Minimal example: https://godbolt.org/z/MoM64v93M
The issue seems to be that Clang does not consider f(x) to be a
constant expression if x comes from a template argument that isn't
a non-type auto template argument (???)
We can work around this by relaxing GetMessageHeaderForCheck (by using
constexpr instead of consteval). This produces no functional changes
because the result of GetMessageHeaderForCheck() is assigned to a
constexpr variable, so the result is guaranteed to be computed
at compile-time.
* stratosphere: fix missing require clauses in definitions
GCC not requiring the require clauses to be repeated for member
definitions is actually a compiler bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96830
Clang rejects declarations with missing require clauses.
* Fix ALWAYS_INLINE_LAMBDA and parameter list relative order
While GCC doesn't seem to care about the position of the always_inline
attribute relative to the parameter list, Clang is very picky
and requires the attribute to appear after the parameter list
(and before a trailing return type)
* stratosphere: fix static constexpr member variable with incomplete type
GCC accepts this for some reason (because of the lambda?) but Clang
correctly rejects this.
2021-11-06 18:19:34 -07:00
Michael Scire
b140834b7e
dmnt2: try to avoid writing out of bounds when generating packets
2021-11-03 23:56:25 -07:00
Michael Scire
6145b3b72c
dmnt2: detect thread name, add monitor get mapping(s), increase buffer sizes
2021-11-03 23:56:25 -07:00
Michael Scire
4489513f7c
dmnt: enable experimental standalone usage of gdbstub, while starlink is in dev
2021-11-03 23:56:25 -07:00
Michael Scire
6cf5205a28
spl: fix legacy physical keyslot compatibility
2021-10-30 11:21:25 -07:00
Michael Scire
4e92687cab
sprofile: various correctness fixes.
2021-10-29 17:38:44 -07:00
Michael Scire
2a0b99d9f9
sprofile: fix off-by-one in struct definition, fix GetImportableProfileUrls
2021-10-29 15:41:25 -07:00