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
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
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
6d0e0bc135
os: broadcast, not signal, on release more than 1 sema
2022-04-29 16:14:17 -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
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
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
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
Michael Scire
02056cdc00
pgl: hook up logic for enabling extra system threads
2022-03-23 09:16:01 -07:00
Michael Scire
e5463b4272
pm: hook up the new libnx apis
2022-03-23 09:16:00 -07:00
Michael Scire
5b408b490e
sf: add another sanity assert
2022-03-23 09:15:59 -07:00
Michael Scire
ac73be8eae
sf: add new debug-interface-id in cmif out header
2022-03-23 09:15:59 -07:00
Michael Scire
37792803f9
sprofile: fix/simplify import count calculation
2022-03-23 09:15:59 -07:00
Michael Scire
ab25a959f2
pm/kern: update for 14.0.0
2022-03-23 09:15:57 -07:00
Michael Scire
1cee34d0de
sprofile: update for 14.0.0 (orphaned profiles now deleted on import)
2022-03-23 09:15:57 -07:00
Michael Scire
39047de5c2
ncm: update client code to better reflect latest sysupdate
2022-03-23 09:15:56 -07:00
Michael Scire
b8be94ed7e
strat: only include windows.h in translation units where actually needed
2022-03-23 09:15:56 -07:00
Michael Scire
8a5d1ec46c
fs: utilities for hac2l to print gc headers
2022-03-23 09:15:55 -07:00
Michael Scire
bf95bc3ede
fs: add gc validation wrappers for hac2l
2022-03-23 09:15:55 -07:00
Michael Scire
c895603abf
fs: add indirection to raw storage open, for hac2l
2022-03-23 09:15:55 -07:00
Michael Scire
8b773a8f33
lz4: update to git-master
2022-03-23 09:15:54 -07:00
Michael Scire
f037d60c75
strat: minor result/overflow check fixes
2022-03-23 09:15:54 -07:00
Michael Scire
ce44fe4ea9
fs: revise allocation-fail result names
2022-03-23 09:15:54 -07:00
Michael Scire
0d2e2df552
strat: revise fs unsupported operation results, add overflow utils
2022-03-23 09:15:53 -07:00
Michael Scire
a759a00e96
fs: fix locking in FileSystemBufferManager
2022-03-23 09:15:53 -07:00
Michael Scire
5febe40d50
fs: fix clang-build, os: StackGuardManager
2022-03-23 09:15:52 -07:00
Michael Scire
8785a53d2b
fs: move bitmap classes out of save::
2022-03-23 09:15:52 -07:00
Michael Scire
a9e2c6a9c0
fs: first pass at compressed storage (works on iridium with wip hac2l code)
2022-03-23 09:15:51 -07:00
Michael Scire
493001fdd7
fssrv: add ExternalKeyManager (rights-id crypto) for hac2l
2022-03-23 09:15:51 -07:00
Michael Scire
bdd66fb5ea
symbols: use same strategy on windows as on macOS
2022-03-23 09:15:51 -07:00
Michael Scire
071f9fb2f0
use cxxabi for demangling on linux/windows
2022-03-23 09:15:50 -07:00
Michael Scire
19002a652e
Implement working macOS backtrace symbolization
2022-03-23 09:15:50 -07:00
Michael Scire
0cefca205f
os: add working stack logic for macOS
2022-03-23 09:15:50 -07:00
Michael Scire
d5b858f5ba
fix stack getting on linux, add test
2022-03-23 09:15:50 -07:00
Michael Scire
097e04ab54
diag: fix typo in hos-specific backtrace getter
2022-03-23 09:15:49 -07:00
Michael Scire
1f2822fafe
abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)
2022-03-23 09:15:49 -07:00
Michael Scire
cdce4416e0
remove leftover debug print
2022-03-23 09:15:48 -07:00
Michael Scire
7a689dc29e
libs: add ongoing work to facilitate hactool rewrite
2022-03-23 09:15:48 -07:00
Michael Scire
78af849848
libs: begin adding capacity for doing crypto on generic os (using externally-preset keys)
2022-03-23 09:15:47 -07:00
Michael Scire
eb768f0e86
fs: add just in case bounds checking to linux/macos dirent read
2022-03-23 09:15:47 -07:00
Michael Scire
5131256383
add basic tests for os::Event/SystemEvent functionality
2022-03-23 09:15:47 -07:00
Michael Scire
d7a9c7ec4c
ams: support building unit test programs on windows/linux/macos
2022-03-23 09:15:46 -07:00
Michael Scire
c5ae3c2449
erpt: add automatic report cleanup mechanism on boot ( closes #1795 )
2022-03-23 09:15:46 -07:00
Michael Scire
936b36fc6e
ams_mitm: update to use new NcaFileSystemDriver intf
2022-03-23 09:15:45 -07:00
Michael Scire
9b2c279d81
fs: add Sha256HashGenerator, LZ4 decompressor
2022-03-23 09:15:44 -07:00
Michael Scire
b37eba086f
fs: revise NcaFileSystemDriver for latest semantics
2022-03-23 09:15:44 -07:00
Michael Scire
78797b87d7
fssystem: revise allocator logic for latest semantics
2022-03-23 09:15:44 -07:00
Michael Scire
7407ddaf1e
fssrv: flesh out the program registry
2022-03-23 09:15:43 -07:00
Michael Scire
c8621b9a5a
fssrv: skeleton more program registry logic
2022-03-23 09:15:43 -07:00
Michael Scire
0e957db878
fssrv: add skeleton getters for service object sf::SharedPointers
2022-03-23 09:15:43 -07:00
Michael Scire
5b4528214f
fs: implement newer allocator templates
2022-03-23 09:15:42 -07:00
Michael Scire
1e98da6d08
fssrv: skeleton server manager setup/registration
2022-03-23 09:15:42 -07:00
Michael Scire
c9bcd87e73
fs: add skeleton dir for sysmodule code
...
Please note this isn't likely to immediately be the active ams project.
2022-03-23 09:15:41 -07:00
Michael Scire
9ac47ccc1b
lib: add missing semicolon
2022-03-23 09:15:40 -07:00
SciresM
00203fd7c3
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-03-23 09:15:40 -07:00
Michael Scire
c5030ec4d4
typofix: boogaloo: electric.
2022-03-23 09:15:39 -07:00
Michael Scire
136339ca49
fix typo-bug in HierarchicalSha256Storage::Read
2022-03-23 09:15:39 -07:00
Michael Scire
9436b9a555
ams: deduplicate static initialization logic
2022-01-19 16:28:54 -08:00
Michael Scire
a392646aab
sf/cmif: optimize dispatch table walk to use binary search over linear search
2022-01-19 16:28:54 -08:00
Léo Lam
2916512fb7
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-30 16:34:43 -08:00
Michael Scire
c542e49ae9
dmnt2: try to avoid writing out of bounds when generating packets
2021-11-03 23:59:56 -07:00
Michael Scire
54783b86f1
dmnt2: detect thread name, add monitor get mapping(s), increase buffer sizes
2021-11-03 23:59:55 -07:00
Michael Scire
cfb192e8a2
dmnt: enable experimental standalone usage of gdbstub, while starlink is in dev
2021-11-03 23:59:53 -07:00
Michael Scire
ceff2f3712
spl: fix legacy physical keyslot compatibility
2021-10-30 11:21:36 -07:00
Michael Scire
f8e294d6fc
sprofile: various correctness fixes.
2021-10-29 17:47:14 -07:00
Michael Scire
9cc867eb21
sprofile: fix off-by-one in struct definition, fix GetImportableProfileUrls
2021-10-29 17:47:14 -07:00