Michael Scire
a0f0dc3ba1
crypto: implement md5, which now used by sprof
2021-10-26 01:11:19 -07:00
Michael Scire
2eab77fe5a
util: add trait/macro for is_constexpr_constructible
2021-10-26 01:11:17 -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
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
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
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
8ecddf498a
kern: use util::BitFlagSet for capability flags
2021-10-07 23:06:18 -07:00
Michael Scire
a8bccc95ab
sprofile: fully reimplement sprof:bg + sprof:sp
2021-09-19 10:35:33 -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
dc3f54a713
ams: std::optional -> util::optional
2021-07-12 01:59:51 -07:00
Michael Scire
acee57e888
loader: avoid UB when doing count trailing zeros
2021-04-30 10:04:09 -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
3ebf91304e
kern: update Initialize0 for new changes
2021-04-11 03:59:15 -07:00
Michael Scire
9b47aa6e08
ams: prefer construct_at/destroy_at over placement new/explicit destructor
2021-04-11 03:59:04 -07:00
Michael Scire
1861791c1c
ams: remove TYPED_STORAGE() macro in favor of template
2021-04-11 03:59:03 -07:00
Michael Scire
042de46692
htc: implement HtclowDriver
2021-04-11 03:58:35 -07:00
Michael Scire
c44177cbcc
htc: implement service channel parsing (ReceiveReadyPacket)
2021-04-11 03:58:32 -07:00
Michael Scire
e4d44fb376
util: add FixedSet
2021-02-15 19:51:57 -08:00
Michael Scire
5f5b9a2831
util: add FixedMap::clear
2021-02-15 19:51:57 -08:00
Michael Scire
663e99d1f3
util: various FixedMap fixes
2021-02-15 19:51:56 -08:00
Michael Scire
6f7afd1812
util: add FixedMap/FixedTree
2021-02-15 19:51:56 -08:00
Michael Scire
8827c7da7b
util: impl::AvailableIndexFinder
2021-02-15 19:51:56 -08:00
Michael Scire
66212b7926
dns.mitm: support % in hosts file as stand-in for environment identifier
2021-02-02 12:16:30 -08:00
Michael Scire
0b2c4bb70e
util::unique_lock, update loader to new sf semantics
2021-02-02 12:16:22 -08:00
Michael Scire
29b3baf678
util::string_view, update pgl for new sf semantics
2021-02-02 12:16:21 -08:00
Michael Scire
637c44f64d
libstrat: convert to experimental new (super-accurate) sf allocation semantics
2021-02-02 12:16:20 -08:00
Michael Scire
20f8c05114
util: fix header dependence
2021-01-13 10:41:29 -08:00
Michael Scire
26369e34f1
ams: use util::SNPrintf over std:: (size/linker improvements)
2021-01-13 10:41:28 -08:00
Michael Scire
673c988ed1
util: faster constexpr offsetof calc, at the cost of standards compliance
2021-01-13 10:41:27 -08:00
Michael Scire
b3eef9315b
kern: further codegen tweaks
2021-01-13 10:41:27 -08:00
Michael Scire
fd5212f399
fs: update + consolidate path normalization logic
2020-12-11 03:48:57 -08:00
Michael Scire
49c1ace890
erpt: update for 11.0.0 ( closes #1218 )
2020-12-03 12:48:16 -08:00
Michael Scire
9586142e90
kern: tweak optimization settings for hot paths
2020-12-02 06:53:22 -08:00
Michael Scire
4faa6940ce
kern: more iterator adjustments
2020-12-02 06:53:22 -08:00
Michael Scire
8209a85205
hot path: just in case
2020-12-02 06:53:20 -08:00
Michael Scire
b9504f356f
microkernel: hot paths are pretty fucking hot
2020-12-02 06:53:20 -08:00