Commit Graph

185 Commits

Author SHA1 Message Date
Michael Scire
40400aee1f ams: revamp assertion system 2020-02-22 23:05:14 -08: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
3a91a6b786 svc: populate namespace 2020-01-17 20:11:03 -08:00
Michael Scire
b965e3f335 libvapours: add (kibi/mebi/gibi)byte literals 2020-01-02 17:44:22 -08:00
Michael Scire
0a18c63f24 pm: fix process exit on < 5.0.0 (closes #748) (thanks @misson20000) 2019-12-13 13:35:33 -08:00
Michael Scire
71b220a4e9 pm: revise session limit in accordance with our handle limit 2019-12-10 20:40:03 -08:00
Michael Scire
5448332009 pm: increase dmnt sessions. sm: remove session limit hack 2019-12-10 20:36:19 -08:00
Michael Scire
28717bfd27 fusee/pm: on 5.0.0+, fix system memory pool increase.
Previously, we were only setting resource limit,
which didn't modify actual reserved pool size for
the system pool. This adds kernel patches which reduce
the applet pool size, granting the extra memory to
the system partition. The given value has been chosen
specifically to allow normal applet usages. Further
reduction may result in crashes during normal applet usage.
2019-12-09 17:56:38 -08:00
Michael Scire
746dbfe018 ams_mitm: Implement emummc Nintendo folder redirection 2019-12-07 12:41:28 -08:00
Michael Scire
421324b498 mitm/cfg: pass around override status for decision-making 2019-12-07 12:41:28 -08:00
Michael Scire
b758e3fc55 strat: update for latest libnx. 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
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
fbb5730369 strat: update for latest libnx commit 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
add18d868f sts: add STS_UNREACHABLE_DEFAULT_CASE() 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
Michael Scire
bb223eb5ae libstrat: namespace hossynch.hpp 2019-12-07 12:41:28 -08:00
Michael Scire
93d83c5bb9 ams: initial support for 9.0.0 2019-09-14 10:43:39 -07:00
hexkyz
7e169bc7df
pm: work around HOS bug 2019-07-23 19:38:14 +01: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
4db212ea7b pm: actually use the flag detection code in libstratosphere 2019-07-11 22:24:59 -07:00
Michael Scire
8177a27db9 pm: fix boot2 launch logic error 2019-07-11 22:24:59 -07:00
Michael Scire
27ff119ba6 pm: fix minor resource manager bugs 2019-07-11 22:24:59 -07:00
Michael Scire
c20774ff5d pm: fix missing flag clears 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
08ad48fbf3 pm: implement correct application thread boosting mechanism 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
c916a7db88 strat: remove sizeof() / sizeof([0]) 2019-07-11 22:24:59 -07:00
Michael Scire
a5da286351 fix dumb mistake 2019-07-11 22:24:59 -07:00
Michael Scire
20a48c3a26 pm: complete rewrite 2019-07-11 22:24:59 -07:00
hexkyz
e561919a52 Fix logic in ldr_ro_manager
Fix argument type for isdigit/isxdigit
2019-06-30 18:48:16 +01: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
1671c04e24 stratosphere: prefer static waitable managers 2019-06-20 13:15:39 -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
d6502c174a pm: actually implement GetBootFinishedEvent 2019-05-27 21:52:28 -07:00
Michael Scire
6f25e92892 set.mitm: language emulation (closes #489) 2019-05-22 12:13:10 -07:00
Michael Scire
03a425a579 stratosphere: TODO: panic -> std::abort() 2019-05-10 03:28:18 -07:00
Michael Scire
41f5b39f6b stratosphere: stop using kernelAbove 2019-05-10 03:25:07 -07:00
Michael Scire
b5dd621250 pm: fix memory usage on 5.0 2019-05-10 03:24:50 -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
a67d4064f0 pm: update with new meme command for 8.0.0 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
c6d67eab6a strat: 0 -> ResultSuccess 2019-03-28 22:39:39 -07:00
Michael Scire
9427a5cf46 strat: use TitleId defs instead of magics. 2019-03-28 21:49:14 -07:00
Michael Scire
0001e93810 strat: use atmosphere results instead of magics 2019-03-28 20:19:38 -07:00
Michael Scire
acffae6643 strat: replace kernel/dbg magic numbers with result defs 2019-03-28 16:57:18 -07:00
Michael Scire
696f66f620 pm: Use result definitions instead of magic numbers 2019-03-28 15:16:36 -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
3316820f86 pm: use fixed-sized buf + scoped lock (gcc 8.3 compat) 2019-03-25 17:12:19 -07:00
Michael Scire
b4b1208222 stratosphere: fix svcExitThread usage 2019-03-05 07:50:27 -08:00
Michael Scire
37d3577028 dmnt: allow disabling cheats via title-specific button combo 2019-03-04 06:55:37 -08:00
Michael Scire
f2f25dd5ed atmosphere: launch tma (fixes home button) 2019-03-03 23:53:53 -08:00
Michael Scire
b57ec74ca3 pm: remove duplicate definitions 2019-02-27 03:33:42 -08:00
Michael Scire
89503049b3 dmnt: pull in from ams.tma branch 2019-02-27 01:44:47 -08:00
Michael Scire
f00dd05f82 Make stratosphere use new libnx HosVersion API 2019-02-20 14:17:51 -08:00
Michael Scire
784964d49d ams.mitm: add bpc handler, for reboot power button stuff 2019-02-04 21:17:05 -08:00
Michael Scire
e715197290 Merge fs.mitm and set.mitm. 2019-02-04 20:15:16 -08:00
Michael Scire
4e99eaa590 pm: Update for 7.0.0 2019-01-31 03:32:47 -08:00
Michael Scire
da68d02c77 pm: fix memory profiles *again* (required for botw video update on 3.0) 2019-01-25 00:03:54 -08:00
Michael Scire
2677cf68d4 pm/0.8.3: remove memory profile adjustment entirely 2019-01-24 12:09:41 -08:00
Michael Scire
cedbcba3e3 0.8.3: fix some memory/deadlock issues 2019-01-24 11:41:32 -08:00
Michael Scire
08d1e9b880 fatal: fix payload size, pm: take from application instead of applet 2019-01-24 08:33:06 -08:00
Michael Scire
8a73ad996a pm: add support for maintenance mode 2019-01-22 05:38:27 -08:00
Michael Scire
f61f5feaf4 pm: Launch set.mitm earlier in boot. 2019-01-22 05:38:27 -08:00
Michael Scire
83025080c8 sm: change InstallMitM to wait for registration instead of 0xE15 2019-01-22 05:38:27 -08:00
Michael Scire
8a92a63a64 pm: Don't launch titles twice due to boot2.flag 2018-12-05 23:44:11 -08:00
Michael Scire
907f6fa72d stratosphere: make tma non-kip, add to build system 2018-12-05 23:36:12 -08:00
Michael Scire
2708de3876 debug-kit: Implement tma.stub 2018-11-30 18:18:03 -08:00
Michael Scire
49ad66e478 stratosphere: Fix fs.mitm bis_protect race condition. 2018-11-30 02:42:48 -08:00
Michael Scire
420361597e all: Change flagging location. Support (but deprecate) old location. 2018-11-15 04:26:40 -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
3b8bb325e8 pm: Use non-system event for process tracking. 2018-11-07 23:43:59 -08:00
Michael Scire
6ef34d80a0 libstrat: automatically detect+format rawdata structs correctly. 2018-10-31 05:04:00 +09:00
Michael Scire
887b4e0275 pm: update for libstratosphere refactor 2018-10-31 05:04:00 +09:00
Michael Scire
06accd00f9 pm: steal memory from 4.0.0+ ? applet : application 2018-10-17 16:28:53 -07: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
Pika
9ae62a27dd Fix ProcesState enum field names 2018-10-16 20:29:48 +09:00
misson20000
2d6aba7a70 pm: add AtmosphereGetCurrentLimitInfo command to pm:dmnt 2018-10-05 13:55:27 +09: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
441e58be56 anti-telemetry: Do not boot Error Collection sysmodule 2018-08-01 23:15:52 -07:00
Michael Scire
cb4089e49c Stratosphere: use isxdigit to check if char is hex. 2018-07-29 17:27:30 -07:00