Michael Scire
8da7ecb197
sf: PrepareForErrorReply is common to all objects
2019-12-07 18:44:47 -08:00
Michael Scire
4fabafcd06
libstrat: enable lto
2019-12-07 18:44:47 -08:00
Michael Scire
0eea56f077
strat: split out common functionality for future meso use
2019-12-07 18:44:47 -08:00
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
1e8b13ac07
libstrat: fix domain issues. in/out objects now work.
2019-12-07 18:44:45 -08:00
Michael Scire
ba1fc9ef0a
sf: implement mitm forwarding + domains.
2019-12-07 18:44:44 -08:00
Michael Scire
e2162d3f3d
libstrat: namespace remaining non-namespaced code. more new-ipc updates
2019-12-07 18:44:44 -08:00
Michael Scire
0af2a628fd
boot2: move to separate process
2019-12-07 18:44:42 -08:00
Michael Scire
a2b5865595
strat: statically allocate additional threads
2019-12-07 18:44:41 -08:00
Michael Scire
e94abc4b5e
dmnt: update for new-ipc
2019-12-07 18:44:40 -08:00
Michael Scire
e679446994
fatal: update for new-ipc
2019-12-07 18:44:39 -08:00
Michael Scire
25ed190f4e
spl: update for new-ipc (fixes two bugs in sf)
2019-12-07 18:44:38 -08:00
Michael Scire
f1a77be02a
sf-impl: remove debug condition
2019-12-07 18:44:37 -08:00
Michael Scire
d1ae859891
pm: update for new-ipc
2019-12-07 18:44:35 -08:00
Michael Scire
d81f97862a
loader: update for new-ipc
2019-12-07 18:44:34 -08:00
Michael Scire
ace60d0e3e
sf: implement CopyFromCurrentDomain
2019-12-07 18:44:34 -08:00
Michael Scire
021acd4275
hipc: begin implementing domains. fixes ro + sm together
2019-12-07 18:44:33 -08:00
Michael Scire
461ed913ef
new-ipc: implement deferral. sm now works.
2019-12-07 18:44:32 -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
30804f8b9e
libstrat: update for latest libnx, delete ipc in prep for rewrite
2019-12-07 18:44:31 -08:00
Michael Scire
5c610a2225
sts: add STS_UNREACHABLE_DEFAULT_CASE()
2019-12-07 18:44:30 -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
6815ccdf68
mitm: fix long-standing C descriptor issue.
2019-12-07 18:44:29 -08:00
Michael Scire
ec2ea1e850
libstrat: namespace hossynch.hpp
2019-12-07 18:44:28 -08:00
Michael Scire
8bae7b4a78
dmnt: refactor to use sts:: namespace.
2019-09-18 12:42:58 -07:00
Michael Scire
d0d6731ce9
ams: initial support for 9.0.0
2019-09-18 12:42:52 -07:00
Michael Scire
2d0811351e
fatal: refactor into sts namespace
2019-08-08 17:49:15 -07:00
Michael Scire
d8f5407095
util: fix copy/paste error in intrusive lists
2019-08-08 17:49:14 -07:00
Michael Scire
5e9628c1fa
kvdb: fix iterator access issue
2019-08-08 17:49:09 -07:00
Michael Scire
0c5dab8022
util: Add Intrusive List/RBTree
2019-07-17 19:23:49 -07:00
Michael Scire
fccef090ed
ipc: remove boost usage
2019-07-17 00:08:02 -07:00
Michael Scire
c7478778cf
remove boost include
2019-07-17 00:07:24 -07:00
Michael Scire
09d8f593c6
kvdb: Implement FileKeyValueStore/Cache
2019-07-16 23:25:39 -07:00
Michael Scire
99ebbd2a18
kvdb: implement MemoryKeyValueStore
2019-07-16 23:25:39 -07:00
TuxSH
a4a3ebed50
Fix building with latest commit
2019-07-16 01:24:26 +02:00
Michael Scire
5ae7b3ea9e
fix missing include in sm_types.hpp
2019-07-12 17:59:34 -07:00
Michael Scire
a8282205b5
libstrat: update with svc types for creport
2019-07-12 05:30:34 -07:00
Michael Scire
69dbb69e0b
sm: add api for forward declaring a service mitm
2019-07-04 12:50:10 -07:00
Michael Scire
b9e5305273
mitm api: remove inconsistent association
2019-07-03 22:57:15 -07:00
Michael Scire
ccfadc501b
libstrat: use WaitService where useful
2019-07-02 22:23:36 -07:00
Michael Scire
45700a12e8
libstrat/sm: add ScopedServiceHolder, Wait(Mitm/Service)
2019-07-02 22:21:18 -07:00
Michael Scire
d7d7cba3d3
title ids: go all in on ncm::TitleId
2019-07-02 20:53:44 -07:00
Michael Scire
c9dc24cce1
libstrat: remove sizeof() /sizeof([0])
2019-07-02 14:36:34 -07:00
JamePeng
d6eacecce9
Add Missing Header for pm_info_api.hpp ( #14 )
2019-07-01 20:21:59 -07:00
Michael Scire
7bc25c01a0
libstrat: update for pm rewrite
2019-06-29 02:18:57 -07:00
Michael Scire
3f6df380c8
ipc: MAKE_SERVICE_COMMAND_META macro
2019-06-27 23:29:05 -07:00
Michael Scire
403f1c7a01
patcher: fix memcmp bug.
2019-06-27 20:51:23 -07:00
Michael Scire
e37089d167
libstrat: implement functionality for loader rewrite
2019-06-26 15:45:35 -07:00
Michael Scire
cf5c6cdad9
libstrat: integrate sm API, add HasService/HasMitm.
2019-06-24 17:56:00 -07:00