Michael Scire
d7a06057eb
strat: split out common functionality for future meso use
2019-12-07 12:41:28 -08:00
Michael Scire
8cb77ac136
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 12:41:28 -08:00
Michael Scire
4059dc6187
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 12:41:28 -08:00
Michael Scire
0b22af1206
libstrat: namespace remaining non-namespaced code. more new-ipc updates
2019-12-07 12:41:28 -08:00
Michael Scire
535e49a38d
strat: statically allocate additional threads
2019-12-07 12:41:28 -08:00
Michael Scire
0c7827104f
hipc: begin implementing domains. fixes ro + sm together
2019-12-07 12:41:28 -08:00
Michael Scire
f4dcd1db9b
sf: implement service framework enough for ro to work.
...
This completely re-does the whole interface for ipc servers.
2019-12-07 12:41:28 -08:00
Michael Scire
609a302e16
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 12:41:28 -08:00
Michael Scire
2d0c881ffe
strat: go all in on ncm::TitleId
2019-07-11 22:24:59 -07:00
Michael Scire
18ca8aaf5b
stratosphere: all in on enum class CommandId
2019-06-27 23:34:53 -07:00
Michael Scire
9baa4a17ed
ro: refactor/rewrite into sts:: namespace
2019-06-24 02:05:51 -07:00
Michael Scire
d3d6c552b7
stratosphere: remove trailing whitespace
2019-06-20 13:00:32 -07:00
Michael Scire
cead8a36ea
stratosphere: more result cleanup
2019-06-20 02:00:59 -07:00
Michael Scire
876d94c338
ro: update for R_TRY usage
2019-06-17 14:46:18 -07:00
Michael Scire
dcc93ce60e
strat: disable exception handlers when creport would be better
2019-04-26 07:32:23 -07:00
Michael Scire
8313669716
Fix NRO patch offset application
2019-04-23 08:31:11 -07:00
Michael Scire
13c825a8bb
ro: only hold sm session open when needed
2019-04-22 13:17:57 -07:00
Michael Scire
a1d4caa7b4
ro: add support for applying ips patches to NROs.
2019-04-22 04:32:15 -07:00
Michael Scire
cb74bc6bb8
ro: fix UnloadNro logic error
2019-04-22 00:31:17 -07:00
Michael Scire
13ded6bd1c
ro: implement loadnro/unloadnro
2019-04-21 07:28:07 -07:00
Michael Scire
4ba6d8b24c
ro: implement rest of LoadNrr/LoadNrrEx
2019-04-21 05:28:57 -07:00
Michael Scire
cb88fdfd62
ro: implement UnloadNrr, half of LoadNrr/LoadNrrEx
2019-04-21 03:39:29 -07:00
Michael Scire
d69fc060f4
ro: Implement ro:dmnt
2019-04-21 02:09:08 -07:00
Michael Scire
e04fcfff6b
ro: fix typo
2019-04-20 18:37:50 -07:00
Michael Scire
79c52e2b91
ro: skeleton ldr:ro
2019-04-20 18:37:01 -07:00
Michael Scire
4ac8f2745b
ro: skeleton ro:dmnt
2019-04-20 18:16:33 -07:00
Michael Scire
6004b7479e
ro: add ro sysmodule skeleton
2019-04-20 18:16:33 -07:00