Commit Graph

85 Commits

Author SHA1 Message Date
Michael Scire
7bb3153938 osdbg: implement thread info api 2021-09-19 10:35:27 -07:00
Michael Scire
fe21509991 ams-1.0.0: meso no longer optional, remove conditional logic 2021-09-06 16:32:47 -07:00
Michael Scire
07073a7580 sm: update to excise unnecessary library code 2021-05-12 09:09:41 -07:00
Michael Scire
2fe065b590 tipc/sm: various fixes for issues 2021-04-11 03:59:24 -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
b58f3d9174 ro: reduce memory usage by excising (unused) std::malloc 2021-02-02 12:16:21 -08:00
Michael Scire
5c40e39e27 os: fix missing logic in SdkReplyAndReceive 2021-01-13 10:41:30 -08:00
Michael Scire
f62751fe0f os: implement 11.x SdkReplyAndReceive 2021-01-13 10:41:29 -08:00
Michael Scire
270766dbd1 strat: avoid using unique_lock in a few places 2021-01-13 10:41:29 -08:00
Michael Scire
803257776c ams: save 0x11000 of memory in spl via minor tweaks 2021-01-13 10:41:28 -08:00
Michael Scire
b09571b57e os: do not use deprecated libnx ::virtmemReserve api 2020-12-02 06:53:00 -08:00
Michael Scire
344a3265c0 os: fix building with new svc defs 2020-08-01 15:31:05 -07:00
Michael Scire
c5e4c7c921 kern: implement SvcWaitSynchronization 2020-08-01 15:31:01 -07:00
Michael Scire
3c7c4d8bff fs: implement AccessLog, enable for File operations 2020-08-01 15:30:55 -07:00
Michael Scire
a1a68953e0 sysupdater: implement (untested) rest of the api 2020-06-28 19:41:10 -07:00
Michael Scire
f3ae89aa2b os: use ported libnx mutex impl 2020-05-18 08:22:12 -07:00
SciresM
7d041e853d Switch atmosphere's build target to C++20. (#952)
* ams: update to build with gcc10/c++20

* remove mno-outline-atomics

* ams: take care of most TODO C++20s

* fusee/sept: update for gcc10

* whoosh, your code now uses pre-compiled headers

* make: dependency fixes
2020-05-12 15:44:19 -07:00
Michael Scire
ea45d6e146 os: oh geez look at the time 2020-05-12 15:44:16 -07:00
Michael Scire
2e18a27f3a os: bug fixes after re-review of rwlock code 2020-04-24 17:29:11 -07:00
Michael Scire
b8be9d0031 os: implement ReadWriteLock 2020-04-24 17:29:11 -07:00
Michael Scire
5a52014d1c hos: change initialization API
This was needed to make stratosphere buildable with debugging on.

os:: assertions rely on GetCurrentThread() working, and this requires
the global os resource manager to be constructed. However, __appInit executes
before global constructors. We now require that hos::InitializeForStratosphere()
be called before anything else is done. This initializes the os resource manager,
sets the hos version for libnx, and may do more things in the future.

TODO: Consider replacing __appInit/__appExit with ams:: namespace functions in general,
and wrap them so that we guarantee hos::InitializeForStratosphere is called first, and
generally ensure a consistent stratosphere environment.
2020-04-24 17:29:08 -07:00
Michael Scire
c190d46343 hos::Version: rename enum members 2020-04-15 11:55:01 -07:00
Michael Scire
a0cddf7c06 os: refactor/rewrite entire namespace. 2020-04-15 11:54:59 -07:00
SciresM
926d5a55d6 mem: implement most of StandardAllocator (#860)
This was tested using `https://github.com/node-dot-cpp/alloc-test` plus a few other by-hand tests.

It seems to work for the case we care about (sysmodules without thread cache-ing).

External users are advised to build with assertions on and contact SciresM if you find issues.

This is a lot of code to have gotten right in one go, and it was written mostly after midnight while sick, so there are probably un-noticed issues.
2020-03-30 20:41:21 -07:00
Michael Scire
07684b2c65 stratosphere: fix building with latest libnx 2020-03-18 00:15:04 -07:00
Michael Scire
0c60930e33 os: add rngmanager 2020-03-18 00:15:02 -07:00
Michael Scire
45b839ec3a Add architecture-specific guard for get tick 2020-03-18 00:15:02 -07:00
Michael Scire
8bcf34a172 os: implement Tick api, make build with -Werror 2020-03-18 00:15:01 -07:00
Michael Scire
93d4cbef94 libstrat: fix unconverted _WITH_ASSERTs 2020-03-02 19:51:07 -08:00
Michael Scire
1e9368c770 ams: revamp assertion system 2020-03-02 19:51:04 -08:00
Michael Scire
7ee4ae460e find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-03-02 19:50:40 -08:00
Michael Scire
58236db55e util::IntrusiveList: assert member referencing is correct 2020-03-02 19:50:39 -08:00
Michael Scire
5e55beeda0 random: use TinyMT instead of XorShift 2019-12-10 19:17:50 -08:00
Michael Scire
5797d753bf libstratosphere is now just one lib 2019-12-08 17:01:03 -08:00