Commit Graph

93 Commits

Author SHA1 Message Date
Michael Scire
f13d2cb6c9 ams_mitm: Implement emummc Nintendo folder redirection 2019-12-07 18:44:54 -08:00
Michael Scire
91817c4367 ams_mitm: implement layeredfs 2019-12-07 18:44:54 -08:00
Michael Scire
5f0779ce15 os/dd: primitive fixes 2019-12-07 18:44:53 -08:00
Michael Scire
fd45f890fa compat fixes for libnx master 2019-12-07 18:44:53 -08:00
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
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
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
d1ae859891 pm: update for new-ipc 2019-12-07 18:44:35 -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
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
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
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
Michael Scire
7bc25c01a0 libstrat: update for pm rewrite 2019-06-29 02:18:57 -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