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
6abd756e0c
boot2: move to separate process
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
fbb5730369
strat: update for latest libnx commit
2019-12-07 12:41:28 -08:00
Michael Scire
2cb8aadafc
pm: statically allocate more resources to save memory
2019-12-07 12:41:28 -08:00
Michael Scire
aa0826bb70
pm: update for new-ipc
2019-12-07 12:41:28 -08:00
Michael Scire
add18d868f
sts: add STS_UNREACHABLE_DEFAULT_CASE()
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
bb223eb5ae
libstrat: namespace hossynch.hpp
2019-12-07 12:41:28 -08:00
Michael Scire
93d83c5bb9
ams: initial support for 9.0.0
2019-09-14 10:43:39 -07:00
hexkyz
7e169bc7df
pm: work around HOS bug
2019-07-23 19:38:14 +01:00
Michael Scire
fc7f06dc78
pm/sm: add ability to forward declare mitm'd services ( closes #557 )
2019-07-11 22:24:59 -07:00
Michael Scire
6777dd9b38
pm: inform sm of title ids. remove inconsistent mitm association.
2019-07-11 22:24:59 -07:00
Michael Scire
4db212ea7b
pm: actually use the flag detection code in libstratosphere
2019-07-11 22:24:59 -07:00
Michael Scire
8177a27db9
pm: fix boot2 launch logic error
2019-07-11 22:24:59 -07:00
Michael Scire
27ff119ba6
pm: fix minor resource manager bugs
2019-07-11 22:24:59 -07:00
Michael Scire
c20774ff5d
pm: fix missing flag clears
2019-07-11 22:24:59 -07:00
Michael Scire
a9f5b7728b
pm: address review comments.
2019-07-11 22:24:59 -07:00
Michael Scire
08ad48fbf3
pm: implement correct application thread boosting mechanism
2019-07-11 22:24:59 -07:00
Michael Scire
2d0c881ffe
strat: go all in on ncm::TitleId
2019-07-11 22:24:59 -07:00
Michael Scire
c916a7db88
strat: remove sizeof() / sizeof([0])
2019-07-11 22:24:59 -07:00
Michael Scire
a5da286351
fix dumb mistake
2019-07-11 22:24:59 -07:00
Michael Scire
20a48c3a26
pm: complete rewrite
2019-07-11 22:24:59 -07:00
hexkyz
e561919a52
Fix logic in ldr_ro_manager
...
Fix argument type for isdigit/isxdigit
2019-06-30 18:48:16 +01:00
Michael Scire
18ca8aaf5b
stratosphere: all in on enum class CommandId
2019-06-27 23:34:53 -07:00
Michael Scire
61fcf5e0f4
loader: completely rewrite.
2019-06-26 15:46:19 -07:00
Michael Scire
9217e4c5f9
sm: add HasService/HasMitm, refactor into sts::
2019-06-24 17:57:49 -07:00
Michael Scire
1671c04e24
stratosphere: prefer static waitable managers
2019-06-20 13:15:39 -07:00
Michael Scire
cead8a36ea
stratosphere: more result cleanup
2019-06-20 02:00:59 -07:00
Michael Scire
ee40dcd76f
PM: Refactor for R_TRY, remove gotos
2019-06-17 15:27:29 -07:00
Michael Scire
d6502c174a
pm: actually implement GetBootFinishedEvent
2019-05-27 21:52:28 -07:00
Michael Scire
6f25e92892
set.mitm: language emulation ( closes #489 )
2019-05-22 12:13:10 -07:00
Michael Scire
03a425a579
stratosphere: TODO: panic -> std::abort()
2019-05-10 03:28:18 -07:00
Michael Scire
41f5b39f6b
stratosphere: stop using kernelAbove
2019-05-10 03:25:07 -07:00
Michael Scire
b5dd621250
pm: fix memory usage on 5.0
2019-05-10 03:24:50 -07:00
Michael Scire
30485f1df9
pm: fix dangling ->
2019-04-22 13:10:29 -07:00
Michael Scire
7945a921ca
Merge branch 'ro_dev'
2019-04-22 13:07:11 -07:00
Michael Scire
b09adb6a34
stratosphere: only hold sm sessions open when needed
2019-04-22 12:59:49 -07:00
Michael Scire
cb88fdfd62
ro: implement UnloadNrr, half of LoadNrr/LoadNrrEx
2019-04-21 03:39:29 -07:00
Michael Scire
908de31a0e
pm: on 7.0.0+, npns is launched in maintenance boot ( closes #511 )
2019-04-20 10:36:38 -07:00
Michael Scire
a67d4064f0
pm: update with new meme command for 8.0.0
2019-04-20 10:36:38 -07:00
Michael Scire
ac07971211
stratosphere: custom exception handlers (reboot to fusee)
2019-04-12 15:28:46 -07:00
Michael Scire
03e176d7f1
atmosphere: current year is 2019
2019-04-07 19:00:49 -07:00
Michael Scire
c6d67eab6a
strat: 0 -> ResultSuccess
2019-03-28 22:39:39 -07:00
Michael Scire
9427a5cf46
strat: use TitleId defs instead of magics.
2019-03-28 21:49:14 -07:00
Michael Scire
0001e93810
strat: use atmosphere results instead of magics
2019-03-28 20:19:38 -07:00
Michael Scire
acffae6643
strat: replace kernel/dbg magic numbers with result defs
2019-03-28 16:57:18 -07:00