Commit Graph

30 Commits

Author SHA1 Message Date
Michael Scire
693917eaf4 libs: add libexosphere to targets 2020-08-01 15:31:13 -07:00
Michael Scire
f83d72e18b meso: skeleton libmesosphere in prep for kernelldr dev 2020-01-03 13:05:20 -08:00
Michael Scire
ef5297acb3 Improve buildsystem, split out generic code 2019-12-08 19:17:05 -08:00
Michael Scire
5797d753bf libstratosphere is now just one lib 2019-12-08 17:01:03 -08:00
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
fd7aad0bf9 ams_mitm: Implement system settings mitm 2019-12-07 18:44:51 -08:00
Michael Scire
4fabafcd06 libstrat: enable lto 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
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
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
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
99ebbd2a18 kvdb: implement MemoryKeyValueStore 2019-07-16 23:25:39 -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
Michael Scire
bbb689cecf libstratosphere: add ini parsing, LZ4 compression. 2019-06-24 14:41:04 -07:00
Michael Scire
269765a3bc StratosphereRandomUtils --> sts::rnd 2019-06-24 11:20:27 -07:00
Michael Scire
1d81da1230 add map, patcher, ro to sts. 2019-06-24 02:05:08 -07:00
Michael Scire
f575d06446 updater: move into libstrat 2019-06-22 12:30:08 -07:00
Michael Scire
ca344e1d19 Move spl api/smc impls into libstratosphere 2019-06-22 12:23:10 -07:00
Michael Scire
4a120c3c16 libstrat: refactor for R_TRY 2019-06-20 05:01:24 -07:00
Michael Scire
cc700248e1 Update to allow building as standalone lib 2018-11-08 00:53:44 -08:00
Michael Scire
80fc45b7c2 atmosphere: extract API version management to common folder 2018-10-16 17:54:50 -07:00
Michael Scire
5a8df9f128 Stratosphere: extract common code to libstratosphere. 2018-04-21 20:31:06 -06:00