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
Michael Scire
5a63f4e304
PM: Make boot2 launch SD card content with StorageId_None
2018-07-27 19:34:22 -07:00
Michael Scire
2667266aad
pm.boot2: Skeleton hook for SD-mandated launches
2018-07-27 03:22:06 -07:00
Michael Scire
c079803189
PM: Use enum in EmbeddedBoot2
2018-07-27 02:37:45 -07:00
Michael Scire
9f16062767
PM: Embed boot2 logic in PM.
2018-07-27 02:23:53 -07:00
misson20000
6adcb483e5
pm: remove magic flag/event numbers to improve readability and understandability
2018-07-27 02:03:28 -07:00
Michael Scire
9d0d9d95e1
Stratosphere: Give more memory to SYSTEM, use less memory.
2018-07-27 01:44:34 -07:00
Léo Lam
5b3e8e1c5d
stratosphere: Use RAII for locks
...
This renames the Mutex class member functions so that the mutex types
satisfy Lockable.
This makes them usable with standard std::scoped_lock
and std::unique_lock, which lets us use RAII and avoids the need
for a custom RAII wrapper :)
2018-07-10 09:38:18 -07:00