Michael Scire
0d161b8588
ams: first attempt at 13.2.1 support
2022-01-19 16:28:55 -08: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
Michael Scire
b670c079fe
ams/hos: add enum support for 13.2.0
2021-11-30 16:34:45 -08:00
Michael Scire
6298a7eb6d
sm/tipc: ensure technical-correctness of sins (no page cost)
2021-11-30 16:34:44 -08:00
Michael Scire
93ea593e59
sm: save 0x5000 of memory by sinning
2021-11-30 16:34:43 -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
ff28833612
ams: overhaul fs.mitm romfs ownership, bump to 1.2.4
2021-11-04 13:40:36 -07: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
Michael Scire
0a0bd74ca2
init: disable fsdev cwd to prevent abort on fsdev usage (fsdev should not be used)
2021-10-27 22:57:18 -07:00
Michael Scire
f68bae342c
sprof: update for 13.1.0 (format version 1)
2021-10-26 01:11:19 -07:00
Michael Scire
d71b86281a
hos: whoops
2021-10-26 01:11:17 -07:00
Michael Scire
1c768fe276
hos: better safe than sorry
2021-10-26 01:11:17 -07:00
Michael Scire
358cd4d95f
hos: allow turning off ams extension hard-reqs for unit testing
2021-10-26 01:11:17 -07:00
Michael Scire
194e58a3e3
kern/test: add wip qemu-virt board support to mesosphere
2021-10-26 01:11:16 -07:00
SciresM
823c0df6b9
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-26 01:11:13 -07:00
Michael Scire
ea0de678ac
lr: fix EraseRedirection hang introduced by refactoring
2021-10-26 01:11:11 -07:00
Michael Scire
960c5c19f9
ams: improve offsetof style consistency
2021-10-26 01:11:10 -07:00
Michael Scire
21cb300537
constexpr: resign ourselves to gcc dropping void -> T support
2021-10-26 01:11:10 -07:00
Michael Scire
d5ea59d8f8
powctl: remove unused arm_neon header after last commit
2021-10-26 01:11:09 -07:00
Michael Scire
6da57eff75
powctl: don't require arm64 arch for floating -> fixed conversion
2021-10-26 01:11:09 -07:00
Michael Scire
cf765c0946
tipc: implement special-case templating used by 13.0.0 pgl
2021-10-15 23:54:40 -07:00
Michael Scire
0238bdf65b
tipc: enable named-thread dispatch
2021-10-15 23:54:40 -07:00
Michael Scire
dbd0b13002
boot: update for 13.0.0/aula parameter changes ( closes #1477 )
2021-10-15 23:54:40 -07:00
Michael Scire
17bf5ee002
powctl: integrate 13.0.0 changes (aula params not done yet)
2021-10-15 23:54:40 -07:00
Michael Scire
68e9f7c853
strat: fix some mitm server management logic
2021-10-15 23:54:39 -07:00
Michael Scire
56222786c6
tipc/sm: update more fully for 13.0.0 changes
2021-10-15 23:54:39 -07:00
Michael Scire
15f27d59df
tipc: add additional logic from 13.0.0
2021-10-15 23:54:39 -07:00
Michael Scire
15b3f9545f
sm/tipc: minor cleanup
2021-10-15 23:54:39 -07:00
Michael Scire
02c1d19605
strat: don't force fs globals to link into every process
2021-10-15 23:54:38 -07:00
Michael Scire
a9322a7245
sf: prevent emitting mitm/defer code unless server in process supports it
2021-10-15 23:54:38 -07:00
Michael Scire
3bef5b7d5a
ams: allow bootloader to merely approximate correct target firmware
2021-10-15 23:54:37 -07:00
Michael Scire
774622d93f
loader: refactor to remove fake namespaces
2021-10-15 23:54:36 -07:00
Michael Scire
3218308524
loader: refactor ro manager/improve accuracy
2021-10-15 23:54:36 -07:00
Michael Scire
0abb1e474e
spl: refactor for accuracy/move into libstrat
2021-10-15 23:54:36 -07:00
Michael Scire
11e9dcfe11
os: add FlushDataCache
2021-10-15 23:54:36 -07:00
Michael Scire
3e33fb6361
strat: use m_ for member variables
2021-10-15 23:54:35 -07:00
Michael Scire
af55ad6e67
libstrat: remove lingering debugging edits
2021-10-15 23:54:34 -07:00
Michael Scire
3b5f56ab9f
ams: replace most remaining operator & with std::addressof
2021-10-15 23:54:34 -07:00
Michael Scire
02e98d84d7
settings: fix correctness issue in LazyFileAccessor
2021-10-15 23:54:34 -07:00
Michael Scire
5c32ec11ea
strat: refactor address taking of form &var[...]
2021-10-15 23:54:34 -07:00
Michael Scire
e2df2f98a3
strat: always use explicit result namespacing
2021-10-15 23:54:33 -07:00
Adubbz
ea0bb620f2
settings: implement KeyValueStore ( #1659 )
...
* settings: implement KeyValueStore and dependencies
* settings: update KeyValueStore for recent refactoring
* settings: address feedback
2021-10-15 23:54:33 -07:00
Michael Scire
0a4c2759a1
os: fix mutex push/pop prototypes
2021-10-07 23:38:32 -07:00
Michael Scire
80d72af9f3
cs: prevent exceptions from manifesting
2021-10-07 23:06:30 -07:00