Commit Graph

1675 Commits

Author SHA1 Message Date
Michael Scire
b5fc48fc75 avoid lambda use in shared_ptr deleters 2019-12-07 18:44:53 -08:00
Michael Scire
6d85d6f835 fs.mitm: Implement bis protection 2019-12-07 18:44:52 -08:00
Michael Scire
19f21514d9 stop overriding user config on update 2019-12-07 18:44:52 -08:00
Michael Scire
fd7aad0bf9 ams_mitm: Implement system settings mitm 2019-12-07 18:44:51 -08:00
Michael Scire
b628ea560d ams_mitm: Implement set:sys firmwareversion mitm 2019-12-07 18:44:51 -08:00
Michael Scire
0333c376fd Implement set_mitm 2019-12-07 18:44:51 -08:00
Michael Scire
06e1eca4db ams_mitm: implement hid mitm 2019-12-07 18:44:51 -08:00
Michael Scire
96ab87f2a4 hbl: support different keys for any-app vs specific
This also makes the default configuration:

To override a generic app, hold R.
To override album, do not hold R.
2019-12-07 18:44:50 -08:00
Michael Scire
b969fe0a17 mitm/cfg: pass around override status for decision-making 2019-12-07 18:44:50 -08:00
Michael Scire
f58c45b2c3 strat: update for latest libnx. 2019-12-07 18:44:49 -08:00
Michael Scire
ef090419f7 ams_mitm: begin skeleton refactor 2019-12-07 18:44:49 -08:00
Michael Scire
ba0edbd9c4 sf: explicitly namespace in DEFINE_SERVICE_DISPATCH_TABLE 2019-12-07 18:44:49 -08:00
Michael Scire
35d0600028 sf: fixes (basic mitm service functionality now confirmed working) 2019-12-07 18:44:48 -08:00
Michael Scire
ce45786551 libstrat: implement mitm server registration 2019-12-07 18:44:48 -08:00
Michael Scire
6889953297 strat: TitleId -> ProgramId, titles->contents 2019-12-07 18:44:48 -08:00
Michael Scire
e7450d5340 strat: fixes for compat with latest libnx 2019-12-07 18:44:47 -08:00
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