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
0b22af1206
libstrat: namespace remaining non-namespaced code. more new-ipc updates
2019-12-07 12:41:28 -08:00
Michael Scire
6abd756e0c
boot2: move to separate process
2019-12-07 12:41:28 -08:00
Michael Scire
535e49a38d
strat: statically allocate additional threads
2019-12-07 12:41:28 -08:00
Michael Scire
2cb8aadafc
pm: statically allocate more resources to save memory
2019-12-07 12:41:28 -08:00
Michael Scire
aa0826bb70
pm: update for new-ipc
2019-12-07 12:41:28 -08:00
Michael Scire
609a302e16
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 12:41:28 -08:00
hexkyz
7e169bc7df
pm: work around HOS bug
2019-07-23 19:38:14 +01: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
2d0c881ffe
strat: go all in on ncm::TitleId
2019-07-11 22:24:59 -07:00
Michael Scire
20a48c3a26
pm: complete rewrite
2019-07-11 22:24:59 -07:00
Michael Scire
18ca8aaf5b
stratosphere: all in on enum class CommandId
2019-06-27 23:34:53 -07:00
Michael Scire
61fcf5e0f4
loader: completely rewrite.
2019-06-26 15:46:19 -07:00
Michael Scire
9217e4c5f9
sm: add HasService/HasMitm, refactor into sts::
2019-06-24 17:57:49 -07:00
Michael Scire
cead8a36ea
stratosphere: more result cleanup
2019-06-20 02:00:59 -07:00
Michael Scire
ee40dcd76f
PM: Refactor for R_TRY, remove gotos
2019-06-17 15:27:29 -07:00
Michael Scire
6f25e92892
set.mitm: language emulation ( closes #489 )
2019-05-22 12:13:10 -07:00
Michael Scire
30485f1df9
pm: fix dangling ->
2019-04-22 13:10:29 -07:00
Michael Scire
7945a921ca
Merge branch 'ro_dev'
2019-04-22 13:07:11 -07:00
Michael Scire
b09adb6a34
stratosphere: only hold sm sessions open when needed
2019-04-22 12:59:49 -07:00
Michael Scire
cb88fdfd62
ro: implement UnloadNrr, half of LoadNrr/LoadNrrEx
2019-04-21 03:39:29 -07:00
Michael Scire
908de31a0e
pm: on 7.0.0+, npns is launched in maintenance boot ( closes #511 )
2019-04-20 10:36:38 -07:00
Michael Scire
ac07971211
stratosphere: custom exception handlers (reboot to fusee)
2019-04-12 15:28:46 -07:00
Michael Scire
03e176d7f1
atmosphere: current year is 2019
2019-04-07 19:00:49 -07:00
Michael Scire
0001e93810
strat: use atmosphere results instead of magics
2019-03-28 20:19:38 -07:00
Michael Scire
eb90603f18
pm: increase heap size (fixes fs reliability issues with gcc 8.3.0)
2019-03-26 17:47:29 -07:00
Michael Scire
f00dd05f82
Make stratosphere use new libnx HosVersion API
2019-02-20 14:17:51 -08:00
Michael Scire
f61f5feaf4
pm: Launch set.mitm earlier in boot.
2019-01-22 05:38:27 -08:00
Michael Scire
49ad66e478
stratosphere: Fix fs.mitm bis_protect race condition.
2018-11-30 02:42:48 -08:00
Michael Scire
cf510ad9bf
pm: Only register privileged processes with FS as needed
2018-11-08 05:28:52 -08:00
Michael Scire
54a22797a7
Make libstratosphere a submodule
2018-11-08 01:24:40 -08:00
Michael Scire
887b4e0275
pm: 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
Michael Scire
6711cd93a8
atmosphere: extract API version management to common folder
2018-10-16 17:54:50 -07:00
Michael Scire
488fc0f119
pm: Support for 6.0.0
2018-09-08 23:47:15 -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
9d0d9d95e1
Stratosphere: Give more memory to SYSTEM, use less memory.
2018-07-27 01:44:34 -07:00
Michael Scire
ba7d0c2cb6
Exosphere: Add API for retrieving versioning info.
2018-05-09 06:29:56 -06:00
Michael Scire
ae78ee22da
ProcessManager: Fully implement pm:dmnt. Remove debug logging.
2018-05-07 04:45:44 -06:00
Michael Scire
6d6ecb503a
ProcessManager: Fix svcCreateEvent handle inversion bug, and others.
...
NOTE: Debugging logs have been left in, and will be cleaned up once PM
is working.
2018-05-06 02:23:47 -06:00
Michael Scire
772401b81f
ProcessManager: Add pm:info, fix pm:shell missing qualifiers
2018-05-04 20:16:40 -06:00
Michael Scire
d6cf7c605f
ProcessManager: Implement core process management logic.
2018-05-03 23:58:37 -06:00
Michael Scire
7ab9f507cb
ProcessManager: Fill out ProcessTracking::Initialize()
2018-05-03 16:15:12 -06:00
Michael Scire
3d2c3e1fe1
ProcessManager: Stub ProcessTracking code.
2018-05-03 04:10:05 -06:00
Michael Scire
0459bcee74
ProcessManager: Acquire ldr:pm during init.
2018-05-03 03:58:45 -06:00
Michael Scire
593efedb2c
ProcessManager: Add BootModeInterface
2018-05-03 02:58:11 -06:00
Michael Scire
bd1315022a
Stratosphere: Begin work on PM.
2018-05-02 22:18:05 -06:00