Commit Graph

38 Commits

Author SHA1 Message Date
Michael Scire
99b5458539 sm: fix deadlock semantics surrounding mitm installation 2020-09-07 10:40:57 -07:00
SciresM
9fde97cfdd
sf: Change interface definition methodology (#1074)
* sf: Begin experimenting with new interface declaration format

* sf: convert fs interfaces to new format

* sf: finish conversion of libstrat to new definitions

* sf: convert loader to new format

* sf: convert spl to new format

* sf: update ncm for new format

* sf: convert pm to new format

* sf: convert ro/sm to new format

* sf: update fatal for new format

* sf: support building dmnt under new scheme

* sf: update ams.mitm for new format

* sf: correct invocation def for pointer holder

* fs: correct 10.x+ user bindings for Get*SpaceSize
2020-07-07 17:07:23 -07:00
SciresM
3a1ccdd919
Switch atmosphere's build target to C++20. (#952)
* ams: update to build with gcc10/c++20

* remove mno-outline-atomics

* ams: take care of most TODO C++20s

* fusee/sept: update for gcc10

* whoosh, your code now uses pre-compiled headers

* make: dependency fixes
2020-05-11 15:02:10 -07:00
Michael Scire
6ecf04c3b7 find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-01-24 02:10:40 -08:00
Michael Scire
421324b498 mitm/cfg: pass around override status for decision-making 2019-12-07 12:41:28 -08:00
Michael Scire
ea3ebbaa7d strat: TitleId -> ProgramId, titles->contents 2019-12-07 12:41:28 -08:00
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
c8ed190e5c new-ipc: implement deferral. sm now works. 2019-12-07 12:41:28 -08: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
a9f5b7728b pm: address review comments. 2019-07-11 22:24:59 -07:00
Michael Scire
9217e4c5f9 sm: add HasService/HasMitm, refactor into sts:: 2019-06-24 17:57:49 -07:00
Michael Scire
e86e1588e3 Simplify namespacing 2019-06-20 18:32:00 -07:00
Michael Scire
8e8daa64ba sm: completely rewrite module 2019-06-20 18:23:40 -07:00
Michael Scire
dfcba5e6d4 sm: refactor to use R_TRY 2019-06-17 09:17:53 -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
b940f61d42 sm: Use result definitions instead of magic numbers 2019-03-28 15:28:36 -07:00
Michael Scire
46cc08160d mitm: Improve session acquire semantics. 2018-11-15 14:19:34 -08:00
Michael Scire
6ef34d80a0 libstrat: automatically detect+format rawdata structs correctly. 2018-10-31 05:04:00 +09:00
Michael Scire
9a8c70ed68 sm: Update for libstratosphere refactor 2018-10-31 05:04:00 +09:00
Michael Scire
5dc31f001e Stratosphere: Fix FS permissions for <4.0.0 KIPs 2018-10-17 16:26:36 -07:00
hexkyz
28e4d4411d Add and fix copyright notices for better GPL compliance (thanks @naehrwert and @CTCaer). 2018-09-07 16:00:13 +01:00
Michael Scire
c2d9ac8f5c fs.mitm: WIP LayeredFS impl (NOTE: UNUSABLE ATM)
Also greatly refactors libstratosphere, and does a lot of other things.
There is a lot of code in this one.
2018-06-14 17:51:18 -06:00
Michael Scire
237ff0d1e7 libstratosphere/fs.mitm: Push WIP support for Domains. Not yet fully working. 2018-06-12 16:01:04 -06:00
Michael Scire
bb636dc05a SM: Make Mitm compile-time toggleable, to forestall whining. 2018-06-02 23:42:01 -06:00
Michael Scire
80f40caf67 SM: Add IPC commands for first-class MITM installation. 2018-06-02 23:38:01 -06:00
Michael Scire
b346c8f375 Fix minor bugs in loader/sm 2018-05-07 07:31:36 -06:00
Léo Lam
a097babe18 Replace std::make_tuple with simpler syntax (#77)
* boot2: Simplify g_additional_launch_programs

It appears that Stratosphère is targeting C++17. In C++17,
std::make_tuple is not required for initialisating a tuple anymore.
Same thing, but less typing

* Replace std::make_tuple with {}

More readable and less noise. Also fixes two missing return statements.
2018-05-05 11:41:39 -07:00
Michael Scire
3c87c4c3c3 SM: Add compile-time smhax flag, finishing module. (Closes #62) 2018-05-01 23:21:39 -06:00
Michael Scire
30f975a558 Stratosphere: Fix remaining bugs in sm, which now works as a KIP1 on hardware 2018-04-30 22:27:26 -06:00
Michael Scire
674528b246 Stratosphere: Implement support for deferred commands. Finish sm GetService()'s deferred path. 2018-04-22 03:02:19 -06:00
Michael Scire
809090e40d Stratosphere: Fix smhax. 2018-04-22 01:13:36 -06:00
Michael Scire
f1cf6dcf97 Implement all of sm. 2018-04-22 00:11:57 -06:00
Michael Scire
61cbb0f86e Stratosphere: Implement sm:->Initialize() 2018-04-21 21:40:26 -06:00
Michael Scire
d0ef3b1c71 Stratosphere: Skeleton all services for sm. 2018-04-21 21:17:57 -06:00