Commit Graph

99 Commits

Author SHA1 Message Date
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