Michael Scire
c4d0335b79
bump version to 1.2.5, fix enum for 13.2.0
2021-11-30 16:53:39 -08:00
Michael Scire
b670c079fe
ams/hos: add enum support for 13.2.0
2021-11-30 16:34:45 -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
e7b84767c6
git subrepo pull (merge) libraries
...
subrepo:
subdir: "libraries"
merged: "8764bd406"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "12d0ba172"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-11-03 23:59:56 -07:00
Michael Scire
a0ca502b3a
ams: bump api version to 1.2.3
2021-11-03 23:59:56 -07:00
Michael Scire
bb16bb0d8d
ams: update for awareness of architecture revision
2021-11-03 23:59:53 -07:00
Léo Lam
12d0ba172f
util/string_view: fix nonnull attribute argument number
...
Argument 1 is the this pointer, not the string.
2021-11-02 17:19:35 -07:00
Michael Scire
4d0f1b7924
ams: bump version to 1.2.2
2021-10-29 17:47:14 -07:00
Michael Scire
f8e294d6fc
sprofile: various correctness fixes.
2021-10-29 17:47:14 -07:00
Michael Scire
13c6987cc4
ams: bump version to 1.2.1
2021-10-26 01:11:19 -07:00
Michael Scire
f68bae342c
sprof: update for 13.1.0 (format version 1)
2021-10-26 01:11:19 -07:00
Michael Scire
a0f0dc3ba1
crypto: implement md5, which now used by sprof
2021-10-26 01:11:19 -07:00
Michael Scire
dfba6af22c
kern: implement 13.1.0 kernel changes
2021-10-26 01:11:18 -07:00
Michael Scire
2eab77fe5a
util: add trait/macro for is_constexpr_constructible
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
Michael Scire
8f761e928c
kern: optimize timespan -> tick codegen, improve .text layout
2021-10-26 01:11:14 -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
00353a05e9
kern: use new AtomicRef, use Atomic<bool>
2021-10-26 01:11:13 -07:00
Michael Scire
0d1ec0739f
util: better match true std::atomic semantics
2021-10-26 01:11:13 -07:00
Michael Scire
d3b358bbb9
kern/util: use custom atomics wrapper to substantially improve codegen
2021-10-26 01:11:12 -07:00
Michael Scire
573769303b
kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs
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
191d2941b5
util: improve (and use) offsetof that's """standard compliant"""
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
05c7ba6439
kern/util: update structure layouts to match Nintendo (saves 0x10 per KThread/KSession)
2021-10-26 01:11:09 -07:00
Michael Scire
96190af3dc
util: fix consteval CountTrailingZeroes impl
2021-10-15 23:54:38 -07:00
Michael Scire
3744ee6fff
ams: bump api verrsion pre-emptively to 1.2.0
2021-10-15 23:54:37 -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
5872a51c18
svc: use m_ for member variables
2021-10-15 23:54:35 -07:00
Michael Scire
bb1a22a631
sdmmc: use m_ for member variables
2021-10-15 23:54:35 -07:00
Michael Scire
116e41f790
exo/vapours: refactor member variables to m_ over this->
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
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
fd1b6d4578
libstrat: enable -Wextra, -Werror
...
This caught an embarrassingly large number of bugs.
2021-10-07 23:06:28 -07:00
Michael Scire
390ce66da1
svc: refactor/rename MemoryInfo fields
2021-10-07 23:06:28 -07:00
Michael Scire
782e449543
strat: remove map namespace, svc: add address space defs
2021-10-07 23:06:27 -07:00
Michael Scire
612b9e2f01
strat: prefer os::NativeHandle to Handle/svc::Handle where sensible
2021-10-07 23:06:26 -07:00
Michael Scire
5a71876ca8
strat: use svc:: over ::svc
2021-10-07 23:06:26 -07:00
Michael Scire
002422d5dc
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-07 23:06:25 -07:00
Michael Scire
57f439afe7
result: improve Includes codegen
2021-10-07 23:06:24 -07:00
Michael Scire
6125281acd
os: adopt multiwait naming over waitable
2021-10-07 23:06:23 -07:00
Michael Scire
c68298a00e
stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex
2021-10-07 23:06:22 -07:00
Michael Scire
7665721e03
ams-libs: AMS_ASSERT no longer invokes expression
2021-10-07 23:06:21 -07:00
Michael Scire
8ecddf498a
kern: use util::BitFlagSet for capability flags
2021-10-07 23:06:18 -07:00
Michael Scire
e05183a6f4
ams: bump version to 1.1.1
2021-09-24 09:17:12 -07:00
Michael Scire
33ae401bc8
svc: bump supported version
2021-09-19 10:35:39 -07:00
Michael Scire
ecb607bade
kern/svc: implement IoPool/Region svc support
2021-09-19 10:35:39 -07:00
Michael Scire
b579a6d75e
svc/kern/dd: remove MapDeviceAddressSpace()
2021-09-19 10:35:39 -07:00
Michael Scire
22bb619873
kern: add new KMemoryState
2021-09-19 10:35:37 -07:00
Michael Scire
b4c67d9c3b
kern: update GetInfo logic for tick count InfoTypes
2021-09-19 10:35:35 -07:00
Adubbz
66104b830a
ncm: skeleton new commands
2021-09-19 10:35:34 -07:00
Michael Scire
a8bccc95ab
sprofile: fully reimplement sprof:bg + sprof:sp
2021-09-19 10:35:33 -07:00
Michael Scire
8a35d51406
sprofile: implement non-importer bgagent commands
2021-09-19 10:35:33 -07:00
Michael Scire
196c524768
sprofile: implement OpenProfileUpdateObserver
2021-09-19 10:35:33 -07:00
Michael Scire
6c012b8371
ams: update current target firmware
2021-09-19 10:35:32 -07:00
Michael Scire
a669f3dcfa
fusee/exo: update for recognition of 13.0.0
2021-09-19 10:35:31 -07:00
Michael Scire
33d58424c7
kern: add hardware single step extension
2021-09-19 10:35:28 -07:00
Michael Scire
7bb3153938
osdbg: implement thread info api
2021-09-19 10:35:27 -07:00
SciresM
277d2193e2
LogManager: implement system module, client api, logging api ( #1617 )
...
Some notes:
* Unless `atmosphere!enable_log_manager` is true, Nintendo's log manager will be used instead.
* This prevents paying memory costs for LM when not enabling logging.
* To facilitate this, Atmosphere's log manager has a different program id from Nintendo's.
* `atmosphere!enable_htc` implies `atmosphere!enable_log_manager`.
* LogManager logs to tma, and the SD card (if `lm!enable_sd_card_logging` is true, which it is by default).
* Binary logs are saved to `lm!sd_card_log_output_directory`, which is `atmosphere/binlogs` by default.
2021-09-19 10:35:25 -07:00
Michael Scire
7375d583c6
fusee: tactically don't trash PLLA1, fixes audio corruption on boot
2021-09-06 16:32:49 -07:00
Michael Scire
9c523b98fd
ams-1.0.0: bump version number well ahead of time
2021-09-06 16:32:48 -07:00
Michael Scire
95eca16642
fusee_cpp: import mariko mtc
2021-09-06 16:32:43 -07:00
Michael Scire
6c6694d2c9
fusee_cpp: begin mariko mtc work
2021-09-06 16:32:43 -07:00
Michael Scire
a64b838b9c
fusee_cpp: implement cpu startup
2021-09-06 16:32:42 -07:00
Michael Scire
0d31962902
fusee_cpp: import full erista mtc logic
2021-09-06 16:32:39 -07:00
Michael Scire
91d23d9634
fusee_cpp: implement erista pll selection logic for mtc
2021-09-06 16:32:38 -07:00
Michael Scire
797c61b066
fusee_cpp: implement bpmp overclock
2021-09-06 16:32:37 -07:00
Michael Scire
ba768c7f62
fusee_cpp: cache cleanup, confirmed working on hardware
2021-09-06 16:32:36 -07:00
Michael Scire
30725cfdec
fusee_cpp: implement bpmp cache driver
2021-09-06 16:32:36 -07:00
Michael Scire
08b7808b2a
fusee_cpp: implement sd card init
2021-09-06 16:32:36 -07:00
Michael Scire
6016ab3447
fusee_cpp: implement sdram lp0 scratch param save
2021-09-06 16:32:35 -07:00
Michael Scire
fdab233923
fusee_cpp: implement SDRAM initialization
2021-09-06 16:32:35 -07:00
Michael Scire
26d94b940e
fusee-cpp: a little more init in SecureInitialize
2021-09-06 16:32:34 -07:00
Michael Scire
660f1c61f2
fusee-cpp: finish SecureInitialize
2021-09-06 16:32:34 -07:00
Michael Scire
98df0a1906
fusee-cpp: implement SecureInitialize besides InitializeClock()
2021-09-06 16:32:34 -07:00
Michael Scire
6550e73754
fusee-cpp: sketch out remainder of secure initialize
2021-09-06 16:32:33 -07:00
Michael Scire
bc3bcb02ce
fusee-cpp: Implement mbist workaround
2021-09-06 16:32:33 -07:00
Michael Scire
2d2f6d4237
ams: bump version to 0.20.1
2021-09-06 16:32:32 -07:00
Michael Scire
87a1de0b1d
ams: bump to 0.2.0
...
NOTE: Release will not occur until hekate is ready to handle new sept-less release format.
2021-08-20 13:34:02 -07:00
Michael Scire
dc3f54a713
ams: std::optional -> util::optional
2021-07-12 01:59:51 -07:00
Michael Scire
eb667fea51
ams: basic support for 12.1.0
2021-07-06 07:28:33 -07:00
Michael Scire
11ea38a7d7
ams: bump version to 0.19.4
2021-06-08 08:09:23 -07:00
Michael Scire
9ac6f527e2
ams: update for 12.0.2
2021-05-12 09:09:44 -07:00
Michael Scire
acee57e888
loader: avoid UB when doing count trailing zeros
2021-04-30 10:04:09 -07:00
Michael Scire
d78e6dfd60
ams: bump api version to 0.19.2
2021-04-30 08:56:10 -07:00
Michael Scire
5deb52d1eb
erpt: implement forced shutdown detection
2021-04-30 08:56:10 -07:00
Michael Scire
888b39fa50
ams: assume gcc 11
2021-04-29 03:04:54 -07:00
Michael Scire
d8e35f2277
exo/meso: update for gcc 11 compatibility
2021-04-29 03:04:54 -07:00
Michael Scire
2d67f66c44
util: add compile-time validation tests for intrusive red black trees
2021-04-29 03:04:53 -07:00
Michael Scire
2ccba9adbb
util: implement red black trees as templates over macros
2021-04-29 03:04:53 -07:00
Michael Scire
7111b5cce6
strat: no longer materially constrained by sm session limit
2021-04-29 03:04:50 -07:00
Michael Scire
86c2eec8e9
ams: bump to 0.19.1
2021-04-12 17:14:19 -07:00
Michael Scire
2542f282e0
sm: reimplement using tipc instead of cmif (probably broken, untested)
2021-04-11 03:59:24 -07:00
Michael Scire
8301b868fd
tipc: fix compilation issues with core serialization routines
2021-04-11 03:59:21 -07:00
Michael Scire
7145b887bd
tipc: tentative core serialization logic (missing imports, won't compile)
2021-04-11 03:59:21 -07:00
Michael Scire
4346c028a8
ams: add target firmware 12.0.0, fusee recognition
2021-04-11 03:59:20 -07:00
Michael Scire
f863ad0a32
kern: mesosphere now implements kernel/sdk 12.3
2021-04-11 03:59:20 -07:00
Michael Scire
3ebf91304e
kern: update Initialize0 for new changes
2021-04-11 03:59:15 -07:00