Commit Graph

7 Commits

Author SHA1 Message Date
Michael Scire
528215f443 namespace sts -> namespace ams
namespace sts::ams -> ams::exosphere, ams::.

This is to facilitate future use of ams:: namespace code in
mesosphere, as we'll want to include ams::util, ams::result, ams::svc...
2019-12-07 18:44:46 -08:00
Michael Scire
15def4ef63 Results: Implement namespaced, type-safe results.
Because I was working on multiple things at once, this commit also:
- Adds wrappers for/linker flags to wrap CXX exceptions to make them
  abort. This saves ~0x8000 of memory in every system module.
- Broadly replaces lines of the pattern if (cond) { return ResultX; }
  with R_UNLESS(!cond, ResultX());.
- Reworks the R_TRY_CATCH macros (and the result macros in general).
2019-12-07 18:44:46 -08:00
Michael Scire
15f3adb8d2 sf: implement service framework enough for ro to work.
This completely re-does the whole interface for ipc servers.
2019-12-07 18:44:32 -08:00
Michael Scire
b52d630cf0 os: implement waitable management.
This implements waitable management for Events (and
implements Events). It also refactors PM to use new
Event/Waitable semantics, and also adds STS_ASSERT
as a macro for asserting a boolean expression. The
rest of stratosphere has been refactored to use
STS_ASSERT whenever possible.
2019-12-07 18:44:30 -08:00
Michael Scire
d8f5407095 util: fix copy/paste error in intrusive lists 2019-08-08 17:49:14 -07:00
Michael Scire
0c5dab8022 util: Add Intrusive List/RBTree 2019-07-17 19:23:49 -07:00
Michael Scire
bbb689cecf libstratosphere: add ini parsing, LZ4 compression. 2019-06-24 14:41:04 -07:00