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
47218f0da8
ams: overhaul fs.mitm romfs ownership, bump to 1.2.4
2021-11-04 13:38:41 -07:00
Michael Scire
0bbc907907
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:17 -07:00
Michael Scire
4a4a1f0e87
ams: bump api version to 1.2.3
2021-11-03 23:57:30 -07:00
Michael Scire
2161365f4f
ams: update for awareness of architecture revision
2021-10-31 11:18:17 -07:00
Michael Scire
94e18b8c93
ams: bump version to 1.2.2
2021-10-29 17:47:01 -07:00
Michael Scire
4e92687cab
sprofile: various correctness fixes.
2021-10-29 17:38:44 -07:00
Michael Scire
cb38b0b929
ams: bump version to 1.2.1
2021-10-26 01:09:16 -07:00
Michael Scire
0e81eac9d1
sprof: update for 13.1.0 (format version 1)
2021-10-26 00:51:44 -07:00
Michael Scire
a14dc6ed89
crypto: implement md5, which now used by sprof
2021-10-25 23:15:50 -07:00
Michael Scire
1d5f66be56
kern: implement 13.1.0 kernel changes
2021-10-25 17:34:47 -07:00
Michael Scire
d8a2b47b0a
util: add trait/macro for is_constexpr_constructible
2021-10-25 17:31:14 -07:00
Michael Scire
0a58e803be
kern/test: add wip qemu-virt board support to mesosphere
2021-10-25 17:31:14 -07:00
Michael Scire
aaa3770806
kern: optimize timespan -> tick codegen, improve .text layout
2021-10-24 01:16:24 -07:00
SciresM
36e4914be8
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-23 15:25:20 -07:00
Michael Scire
20716cb3de
kern: use new AtomicRef, use Atomic<bool>
2021-10-20 13:29:38 -07:00
Michael Scire
aed9d3f535
util: better match true std::atomic semantics
2021-10-20 11:02:17 -07:00
Michael Scire
d74f364107
kern/util: use custom atomics wrapper to substantially improve codegen
2021-10-19 15:24:15 -07:00
Michael Scire
f3b532070b
kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs
2021-10-19 01:20:28 -07:00
Michael Scire
889d843718
ams: improve offsetof style consistency
2021-10-18 00:17:13 -07:00
Michael Scire
ec6d1a92ef
util: improve (and use) offsetof that's """standard compliant"""
2021-10-17 21:45:02 -07:00
Michael Scire
ad4c794aea
constexpr: resign ourselves to gcc dropping void -> T support
2021-10-17 02:39:16 -07:00
Michael Scire
26c02e2019
kern/util: update structure layouts to match Nintendo (saves 0x10 per KThread/KSession)
2021-10-16 16:13:10 -07:00
Michael Scire
d27fe8a229
util: fix consteval CountTrailingZeroes impl
2021-10-11 13:15:11 -07:00
Michael Scire
3bee3e77ca
ams: bump api verrsion pre-emptively to 1.2.0
2021-10-11 01:00:07 -07:00
Michael Scire
d9dc04318d
loader: refactor ro manager/improve accuracy
2021-10-10 18:22:32 -07:00
Michael Scire
d8a36e39f2
spl: refactor for accuracy/move into libstrat
2021-10-10 12:57:36 -07:00
Michael Scire
ce28591ab2
svc: use m_ for member variables
2021-10-09 16:14:00 -07:00
Michael Scire
00116450c3
sdmmc: use m_ for member variables
2021-10-09 15:59:59 -07:00
Michael Scire
67a45c97ef
exo/vapours: refactor member variables to m_ over this->
2021-10-09 15:40:06 -07:00
Michael Scire
1ab0bd1765
ams: replace most remaining operator & with std::addressof
2021-10-09 14:49:53 -07:00
Adubbz
303c6eb5f9
settings: implement KeyValueStore ( #1659 )
...
* settings: implement KeyValueStore and dependencies
* settings: update KeyValueStore for recent refactoring
* settings: address feedback
2021-10-09 09:16:40 -07:00
Michael Scire
7ca83c9d3b
libstrat: enable -Wextra, -Werror
...
This caught an embarrassingly large number of bugs.
2021-10-06 15:20:48 -07:00
Michael Scire
4866e80769
svc: refactor/rename MemoryInfo fields
2021-10-05 15:16:54 -07:00
Michael Scire
719ead824e
strat: remove map namespace, svc: add address space defs
2021-10-05 12:22:34 -07:00
Michael Scire
d0041a33ac
strat: prefer os::NativeHandle to Handle/svc::Handle where sensible
2021-10-04 17:12:32 -07:00
Michael Scire
6f680fe63b
strat: use svc:: over ::svc
2021-10-04 14:54:13 -07:00
Michael Scire
77fe5cf6f5
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-04 12:59:10 -07:00
Michael Scire
9ecec1b935
result: improve Includes codegen
2021-10-01 15:12:38 -07:00
Michael Scire
7444a68cd1
os: adopt multiwait naming over waitable
2021-09-30 19:00:47 -07:00
Michael Scire
41ab4c2c68
stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex
2021-09-29 22:52:50 -07:00
Michael Scire
9b04ff0f54
ams-libs: AMS_ASSERT no longer invokes expression
2021-09-29 21:32:40 -07:00
Michael Scire
d00cec38b0
kern: use util::BitFlagSet for capability flags
2021-09-27 11:37:27 -07:00
Michael Scire
a3d9efb18c
ams: bump version to 1.1.1
2021-09-24 09:16:30 -07:00
Michael Scire
7cdfa68dd5
svc: bump supported version
2021-09-19 10:34:31 -07:00
Michael Scire
f6fb5f2c8d
kern/svc: implement IoPool/Region svc support
2021-09-19 10:34:31 -07:00
Michael Scire
ce7dd55257
svc/kern/dd: remove MapDeviceAddressSpace()
2021-09-19 10:34:31 -07:00
Michael Scire
fdf008108c
kern: add new KMemoryState
2021-09-19 10:34:31 -07:00
Michael Scire
6407786059
kern: update GetInfo logic for tick count InfoTypes
2021-09-19 10:34:31 -07:00
Adubbz
a941e4be03
ncm: skeleton new commands
2021-09-19 10:34:31 -07:00
Michael Scire
89541c8042
sprofile: fully reimplement sprof:bg + sprof:sp
2021-09-19 10:34:31 -07:00
Michael Scire
ae54ec5981
sprofile: implement non-importer bgagent commands
2021-09-19 10:34:31 -07:00
Michael Scire
75d5e2aef0
sprofile: implement OpenProfileUpdateObserver
2021-09-19 10:34:31 -07:00
Michael Scire
04cbc06bc1
ams: update current target firmware
2021-09-19 10:34:31 -07:00
Michael Scire
cb299d9260
fusee/exo: update for recognition of 13.0.0
2021-09-19 10:34:31 -07:00
Michael Scire
4075d24e0c
kern: add hardware single step extension
2021-09-11 19:41:47 -07:00
Michael Scire
c6fad1b0ee
osdbg: implement thread info api
2021-09-11 19:41:47 -07:00
SciresM
e9849c74cf
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-11 19:32:14 -07:00
Michael Scire
b7521465ee
fusee: tactically don't trash PLLA1, fixes audio corruption on boot
2021-09-06 16:26:50 -07:00
Michael Scire
36c470ad11
ams-1.0.0: bump version number well ahead of time
2021-09-06 16:26:50 -07:00
Michael Scire
c2a930965a
fusee_cpp: import mariko mtc
2021-09-06 16:26:50 -07:00
Michael Scire
c4fee796ea
fusee_cpp: begin mariko mtc work
2021-09-06 16:26:50 -07:00
Michael Scire
40e2d4bbe6
fusee_cpp: implement cpu startup
2021-09-06 16:26:50 -07:00
Michael Scire
ecbf13e45d
fusee_cpp: import full erista mtc logic
2021-09-06 16:26:50 -07:00
Michael Scire
d7192343d8
fusee_cpp: implement erista pll selection logic for mtc
2021-09-06 16:26:50 -07:00
Michael Scire
4480e7a8a5
fusee_cpp: implement bpmp overclock
2021-09-06 16:26:50 -07:00
Michael Scire
e7d7d8adfb
fusee_cpp: cache cleanup, confirmed working on hardware
2021-09-06 16:26:50 -07:00
Michael Scire
5cff5e629b
fusee_cpp: implement bpmp cache driver
2021-09-06 16:26:50 -07:00
Michael Scire
49d0a51d6b
fusee_cpp: implement sd card init
2021-09-06 16:26:50 -07:00
Michael Scire
25cd3d17de
fusee_cpp: implement sdram lp0 scratch param save
2021-09-06 16:26:50 -07:00
Michael Scire
349a16ce39
fusee_cpp: implement SDRAM initialization
2021-09-06 16:26:50 -07:00
Michael Scire
c91f95e8f6
fusee-cpp: a little more init in SecureInitialize
2021-09-06 16:26:50 -07:00
Michael Scire
53ede217a5
fusee-cpp: finish SecureInitialize
2021-09-06 16:26:50 -07:00
Michael Scire
669564b022
fusee-cpp: implement SecureInitialize besides InitializeClock()
2021-09-06 16:26:50 -07:00
Michael Scire
c9bd97192f
fusee-cpp: sketch out remainder of secure initialize
2021-09-06 16:26:50 -07:00
Michael Scire
c333a84b6b
fusee-cpp: Implement mbist workaround
2021-09-06 16:26:50 -07:00
Michael Scire
165c926135
ams: bump version to 0.20.1
2021-08-30 07:32:35 -07:00
Michael Scire
9296a56303
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:31:59 -07:00
Michael Scire
a7c14e03b9
ams: std::optional -> util::optional
2021-07-08 02:37:26 -07:00
Michael Scire
f863164648
ams: basic support for 12.1.0
2021-07-06 07:13:56 -07:00
Michael Scire
3dbc79dd5c
ams: bump version to 0.19.4
2021-06-08 08:09:05 -07:00
Michael Scire
bb4c7a390b
ams: update for 12.0.2
2021-05-12 09:08:47 -07:00
Michael Scire
dbcb1e1564
loader: avoid UB when doing count trailing zeros
2021-04-30 10:03:54 -07:00
Michael Scire
2c332d1cf8
ams: bump api version to 0.19.2
2021-04-30 05:00:25 -07:00
Michael Scire
355010ad84
erpt: implement forced shutdown detection
2021-04-30 04:21:03 -07:00
Michael Scire
0767d9f8da
ams: assume gcc 11
2021-04-28 15:13:29 -07:00
Michael Scire
4f16106702
exo/meso: update for gcc 11 compatibility
2021-04-26 20:06:18 -07:00
Michael Scire
ed80d6ec8c
util: add compile-time validation tests for intrusive red black trees
2021-04-21 05:06:11 -07:00
Michael Scire
57b6c71c1c
util: implement red black trees as templates over macros
2021-04-20 16:56:33 -07:00
Michael Scire
2e1a93f1d1
strat: no longer materially constrained by sm session limit
2021-04-13 23:58:10 -07:00
Michael Scire
aa2d03d8e1
ams: bump to 0.19.1
2021-04-12 17:14:07 -07:00
Michael Scire
57c8bc432d
sm: reimplement using tipc instead of cmif (probably broken, untested)
2021-04-11 03:42:16 -07:00
Michael Scire
21b883a75c
tipc: fix compilation issues with core serialization routines
2021-04-11 03:42:16 -07:00
Michael Scire
e93d71d932
tipc: tentative core serialization logic (missing imports, won't compile)
2021-04-11 03:42:16 -07:00
Michael Scire
dc6a0d7562
ams: add target firmware 12.0.0, fusee recognition
2021-04-11 03:42:16 -07:00
Michael Scire
1d2be0a2eb
kern: mesosphere now implements kernel/sdk 12.3
2021-04-11 03:42:16 -07:00
Michael Scire
a1e137cc1c
kern: update Initialize0 for new changes
2021-04-11 03:42:16 -07:00
Michael Scire
b3bd443636
svc: sanitize booleans in autogenerated abi stubs
2021-04-11 03:42:16 -07:00
Michael Scire
d84dcb653d
ams: prefer construct_at/destroy_at over placement new/explicit destructor
2021-03-21 20:30:40 -07:00
Michael Scire
aff0da9427
ams: remove TYPED_STORAGE() macro in favor of template
2021-03-21 18:47:30 -07:00
Michael Scire
8d9174b227
ams: bump version to 0.19.0.
...
Release (probably) not actually imminent, I just don't want to forget.
2021-03-21 13:16:49 -07:00
Michael Scire
a7564cf303
kern: add extension InfoType for retrieving current process handle.
2021-03-17 17:48:30 -07:00
SciresM
5362ee9450
[tma2] [Ongoing] Continue implementing modules for tma2. ( #1388 )
...
* cs: add stub sysmodule to host command shell server
* cs: implement logic for main (linker error paradise, for now)
* cs: implement more of the system module's skeleton
* htcs: update client type names for libnx pr merge
2021-03-16 17:13:30 -07:00
Michael Scire
64c7c6b2a5
ams: implement socket api for htclow socket driver
2021-02-24 04:06:54 -08:00
Michael Scire
1c974a387c
htc: implement socket driver (socket api not really impl'd yet)
2021-02-24 04:06:54 -08:00
Michael Scire
b5ab491603
htc: implement htcmisc service object commands
2021-02-24 04:06:54 -08:00
Michael Scire
70caadafd5
htcs: implement rpc tasks
2021-02-24 04:06:54 -08:00
Michael Scire
7667104961
htcs: hook up HtcsService to rpc client
2021-02-24 04:06:54 -08:00
Michael Scire
0c791f2279
htcs: fix magic template argument deduction, do Close/Connect/Bind
2021-02-24 04:06:54 -08:00
Michael Scire
536e3e99a8
htcs: hook up CreateSocket/RpcClient Begin<>/End<>
2021-02-24 04:06:54 -08:00
Michael Scire
abff428212
htcs: hook up manager impl to (unimplemented) service
2021-02-24 04:06:54 -08:00
Michael Scire
1541985222
htcs: hook manager up to (unimplemented) manager impl
2021-02-24 04:06:54 -08:00
Michael Scire
61929d6e21
htcs: hook service objects up to (unimplemented) manager apis
2021-02-24 04:06:54 -08:00
Michael Scire
9daec3a66a
htc: Implement (almost) all host-directory commands
2021-02-24 04:06:54 -08:00
Michael Scire
e79417c37c
htcfs: implement OpenDirectory/CloseDirectory
2021-02-24 04:06:54 -08:00
Michael Scire
5c97469348
htc: implement htcfs protocol bringup
2021-02-24 04:06:54 -08:00
Michael Scire
9fbbb9fadb
htclow: add Channel wrapper class
2021-02-24 04:06:54 -08:00
Michael Scire
3be005b638
htc: Implement RpcClient::ReceiveThread + SendThread
2021-02-24 04:06:54 -08:00
Michael Scire
1867c31f63
htc: add RpcTaskQueue/RpcTaskIdFreeList
2021-02-24 04:06:54 -08:00
Michael Scire
0880cebc4d
htc: implement htcmisc rpc tasks
2021-02-24 04:06:54 -08:00
Michael Scire
42cf3f50d7
htc: implement mux side of connecting (and more)
2021-02-24 04:06:54 -08:00
Michael Scire
e20c2450ce
htc: declare and begin impl of HtclowManagerImpl interface
2021-02-24 04:06:54 -08:00
Michael Scire
4cb6c63516
htc: implement HtclowDriver
2021-02-24 04:06:54 -08:00
Michael Scire
4ed665bcd3
htc: implement remaining worker thread send logic (for channel mux)
2021-02-24 04:06:54 -08:00
Michael Scire
2cdfde6637
htc: add remaining worker receive thread logic
2021-02-24 04:06:54 -08:00
Michael Scire
6fc24d8883
htc: implement service channel parsing (ReceiveReadyPacket)
2021-02-24 04:06:54 -08:00
Michael Scire
679fec2ddc
htc: implement much of worker receive logic
2021-02-24 04:06:54 -08:00
Michael Scire
2341f18edd
htc: implement htclow listener thread
2021-02-24 04:06:54 -08:00
Michael Scire
c59388caf1
htc: implement complete usb driver
2021-02-24 04:06:54 -08:00
Michael Scire
c878123274
htc: implement (fixing linker errors) through HtclowManagerImpl::OpenDriver
2021-02-24 04:06:54 -08:00
Michael Scire
71add1add8
ams: bump version to 0.18.1
2021-02-15 19:51:48 -08:00
Michael Scire
13b17a5848
usb: add ds client api
2021-02-07 16:29:38 -08:00
Michael Scire
846cc0b47a
util: add FixedSet
2021-02-04 02:29:54 -08:00
Michael Scire
e82ad1cdc5
util: add FixedMap::clear
2021-02-04 02:16:37 -08:00
Michael Scire
a9c6476416
util: various FixedMap fixes
2021-02-04 02:08:21 -08:00
Michael Scire
c1d93a9495
util: add FixedMap/FixedTree
2021-02-04 01:00:19 -08:00
Michael Scire
201b17f100
util: impl::AvailableIndexFinder
2021-02-03 17:47:32 -08:00
Michael Scire
63440cab18
ams: bump version to 0.18.0
2021-02-02 12:15:53 -08:00
Michael Scire
6950989552
dns.mitm: support % in hosts file as stand-in for environment identifier
2021-02-02 11:41:49 -08:00
Michael Scire
e45d8cd7d8
ams: take three tries to edit a structure
2021-02-02 11:41:49 -08:00
Michael Scire
79211e1159
ams: afsr0 -> 32 bits in fatal error
2021-02-02 11:41:49 -08:00
Michael Scire
ca8e8ce487
ams: fix fatal error context
2021-02-02 11:41:49 -08:00
Michael Scire
48830d190f
timespan: explicitly require TimeSpanType as is_pod
2021-01-25 08:27:42 -08:00
Michael Scire
f5c6736431
boot: update for new sf-semantics
2021-01-20 23:39:31 -08:00
Michael Scire
e4e278bb3d
util::unique_lock, update loader to new sf semantics
2021-01-20 23:39:31 -08:00
Michael Scire
3bb94aa146
util::string_view, update pgl for new sf semantics
2021-01-20 23:39:31 -08:00
Michael Scire
f06de12bea
libstrat: convert to experimental new (super-accurate) sf allocation semantics
2021-01-20 23:39:31 -08:00
Michael Scire
9e104bb83f
ams: bump version to 0.17.1
2021-01-13 10:41:13 -08:00
Michael Scire
8ac8abf295
os: implement 11.x SdkReplyAndReceive
2021-01-12 18:18:39 -08:00
Michael Scire
6a2ee02409
util: fix header dependence
2021-01-12 03:02:09 -08:00