Michael Scire
163d9259a3
Update Runtime Firmware Version stuff for 8.0
2019-04-18 00:16:07 -07:00
Michael Scire
b9724cdcad
libstrat: Custom exception handlers/std::abort
2019-04-12 15:26:27 -07:00
Michael Scire
1f9e2d042c
libstrat: the current year is 2019
2019-04-07 18:56:40 -07:00
Michael Scire
8021b07eb8
results: add FsInvalidSaveDataSpaceId
2019-04-05 13:33:06 -07:00
Lioncash
0efaf3c8cb
Silence -Wmissing-field-initializer warnings
2019-04-05 01:13:59 -04:00
Michael Scire
b6ca2d89ae
Add RCM bug detection util
2019-04-01 17:22:38 -07:00
Michael Scire
37b74c7d75
results: add settings results
2019-03-28 23:03:13 -07:00
Michael Scire
5be736876c
libstrat: remove remaining IPC magic numbers
2019-03-28 22:44:49 -07:00
Michael Scire
1034e0744a
results: correct lr result names
2019-03-28 22:39:11 -07:00
Michael Scire
5a3583d79d
libstrat: 0 -> ResultSuccess
2019-03-28 22:37:39 -07:00
Michael Scire
492975c110
results: ncm/kvdb results (thanks @adubbz)
2019-03-28 22:07:31 -07:00
Michael Scire
5fcc1469c7
Encounter -> Story
2019-03-28 21:42:08 -07:00
Michael Scire
f6e73c6160
libstrat: use TitleId defs.
2019-03-28 21:35:35 -07:00
Michael Scire
e113fe48d8
libstrat: fix missing include
2019-03-28 21:19:45 -07:00
Michael Scire
e2bdfdab08
libstrat: add constants for title ids.
2019-03-28 21:19:07 -07:00
Michael Scire
4c51a40617
results: add vi results
2019-03-28 20:38:39 -07:00
Michael Scire
2f1b90e397
results: add lr results (thanks @adubbz)
2019-03-28 20:31:23 -07:00
Michael Scire
8d15f82a9b
results: Add unofficial atmosphere results header
2019-03-28 20:19:01 -07:00
Michael Scire
27164564a1
results: add sf/hipc results.
2019-03-28 19:59:33 -07:00
Michael Scire
033c77716c
results: Add more fs results
2019-03-28 19:45:03 -07:00
Michael Scire
a3ca9cf1a3
results: use kernel results, add dbg results
2019-03-28 16:56:44 -07:00
Michael Scire
6b54534f47
results: Add some kernel results, ResultSuccess
2019-03-28 16:03:11 -07:00
Michael Scire
d448c03c5d
results: Add fatal results
2019-03-28 15:37:13 -07:00
Michael Scire
aab4aedb34
results: Add SM results
2019-03-28 15:27:55 -07:00
Michael Scire
cd7f81f7b0
results: Add PM results
2019-03-28 15:15:49 -07:00
Michael Scire
0359681475
results: Add Loader results
2019-03-28 15:06:09 -07:00
Michael Scire
ea5c0f0174
libstrat: migrate result headers to library
2019-03-28 14:22:50 -07:00
Michael Scire
31c1dc1a82
vers: use svcCallSecMon instead of spl
2019-03-24 14:39:04 -07:00
Michael Scire
37c41f6324
Fix validation typo ( closes #7 )
2019-03-16 10:52:58 -07:00
Michael Scire
49d2188f6f
add CancelSync thread primitive
2019-03-05 19:10:30 -08:00
Michael Scire
0fbc0e2f46
libstrat: better thread exiting in waitable manager
2019-03-05 07:48:37 -08:00
Michael Scire
82c67a62d6
libstrat: add full dmnt:cht client code
2019-03-05 00:47:00 -08:00
Michael Scire
9ce1dce440
libstrat: revise shutdown helper name
2019-02-21 07:04:33 -08:00
Michael Scire
1cad75081b
libstrat: add shutdown helper
2019-02-21 07:04:04 -08:00
Michael Scire
3de9d6c9d6
Update for new libnx HOSVERSION API
2019-02-20 14:14:02 -08:00
Michael Scire
a2c74f8cd5
add IsApplicationTid helper
2019-02-12 02:48:45 -08:00
Michael Scire
2f1fa654f2
Revise firmware version detection to use Exosphere's targetfirmware field
2019-01-31 03:07:24 -08:00
Michael Scire
236190f8a3
mitm-server: simplify logic, eliminate deadlock possibility
2019-01-26 06:22:18 -08:00
Michael Scire
9bf228de3e
Add wrappers for new SMC extensions
2019-01-24 08:10:18 -08:00
Michael Scire
de4c2ddae1
Improve deferral management logic, to fix order-sensitive bug
2019-01-21 22:28:04 -08:00
Michael Scire
f9d38856f3
Update for MitM API change
2019-01-20 16:58:35 -08:00
Michael Scire
4bcea4ed5e
Fix OutPointerWithClientSize deserialization for domains
2018-12-12 06:51:28 -08:00
Michael Scire
8b9dd81fa6
Fix a number of bugs in mitm.
2018-12-12 03:07:26 -08:00
Michael Scire
fa37b70b0e
Add HosSignal primitive
2018-12-05 01:09:01 -08:00
Michael Scire
05015b9354
Add RebootToRcm()
2018-11-30 05:18:34 -08:00
Michael Scire
8fbefee37e
smm_ams: Add HasMitm extension
2018-11-30 00:50:45 -08:00
Michael Scire
0bec72ca36
Improve mitm semantics a little bit more.
2018-11-15 14:29:17 -08:00
Michael Scire
8fcac73ab2
Greatly improve mitm session acquire semantics.
2018-11-15 14:18:52 -08:00
Michael Scire
0fb33e9c09
Mark git getters inline
2018-11-13 12:52:03 -08:00
Michael Scire
6a6eedeacd
Add atmosphere git revision getters
2018-11-13 12:41:13 -08:00
Michael Scire
bcd80ab445
Fix domain unallocation failure in WaitableManager
2018-11-08 16:00:04 -08:00
Michael Scire
3e87318090
move version checking back into libstratosphere
2018-11-08 01:18:56 -08:00
Michael Scire
3a541909f5
Fix boost submodule
2018-11-08 00:57:08 -08:00
Michael Scire
34b927b322
Migrate atmosphere version checks out of libstratosphere.
2018-11-08 00:46:51 -08:00
Michael Scire
94c1e5724b
libstratosphere: add ReadOnlySystemEvent helper
2018-11-07 23:25:16 -08:00
Michael Scire
2ecb6c7f2b
libstratosphere: Add thread primitive, WaitableManager->RequestStop()
2018-11-07 23:25:11 -08:00
Michael Scire
39ce397017
libstratosphere: Implement message queues
2018-11-07 23:25:00 -08:00
Michael Scire
48b9c9340f
libstrat: Use iterators when looping deferred waitables
2018-11-07 22:59:30 -08:00
Michael Scire
a7d3e4903c
libstrat: Significantly cleanup waitable manager result handling.
2018-11-07 22:40:19 -08:00
Michael Scire
b5dc85fcf1
libstrat: fix potential oob deref in WaitableManager ( closes #256 )
2018-11-07 19:10:04 -08:00
Michael Scire
2f706e5842
libstrat: improve waitable manager cancelsync semantics
2018-11-07 12:42:06 -08:00
Michael Scire
a0c5246b5c
libstrat: update curthreadhandle for libnx 1.5.0
2018-11-05 22:56:04 -08:00
Michael Scire
9d923fcba4
libstratosphere: Use intraprocess event signaling for new waitable management
2018-11-05 18:35:21 -08:00
Michael Scire
ca2233d33b
libstrat: Allow nullptr buffers if 0 size. ( closes #255 )
2018-11-04 21:52:53 -08:00
Michael Scire
ded8dd9d09
fs.mitm: Only create storage interface when needed.
2018-11-04 12:45:29 -08:00
Michael Scire
3495f3b319
libstrat: delete old ipc templating.
2018-10-30 15:57:15 -07:00
TuxSH
1d857e8c80
Add boost as submodule
2018-10-30 23:49:26 +01:00
Michael Scire
a43853f2de
libstrat: mark ServiceObjectHolder functions const
2018-10-31 05:04:00 +09:00
Michael Scire
a6514b9169
libstrat: remove unused struct in serializer
2018-10-31 05:04:00 +09:00
Michael Scire
9f99327cab
libstrat: automatically detect+format rawdata structs correctly.
2018-10-31 05:04:00 +09:00
Michael Scire
2007f2d240
libstratosphere: Fix uninitialized memory bug.
2018-10-31 05:04:00 +09:00
Michael Scire
51bad55da4
fs.mitm: split out set.mitm
2018-10-31 05:04:00 +09:00
Michael Scire
772f20b703
libstratosphere: refactor everything
2018-10-31 05:04:00 +09:00
Michael Scire
e1e699a124
fs.mitm: Intercept qlaunch sysver request
2018-10-24 14:16:39 -07:00
Michael Scire
71084bdd77
libstratosphere: Fix receive for multi-static IPC buffers
2018-10-17 03:49:05 -07:00
Michael Scire
80fc45b7c2
atmosphere: extract API version management to common folder
2018-10-16 17:54:50 -07:00
Michael Scire
b8ac9a8fcf
fs.mitm: Add domain support ( closes #202 )
2018-10-16 13:33:45 -07:00
Michael Scire
c66fc1ab8a
libstratosphere: Fix condvar wrapper primitives
2018-09-09 07:04:16 -07:00
Michael Scire
ccab6aa737
pm: Support for 6.0.0
2018-09-08 23:47:15 -07:00
hexkyz
5cecc78d51
Add and fix copyright notices for better GPL compliance (thanks @naehrwert and @CTCaer).
2018-09-07 16:00:13 +01:00
Léo Lam
f4212ff213
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
Léo Lam
8e29e70a61
stratosphere: Remove an unneeded constructor
...
domain_objects is already an array of empty std::shared_ptrs (since
std::shared_ptr has a sane default constructor).
2018-07-10 09:38:18 -07:00
Michael Scire
3f7c9fc70d
fs.mitm: Fix c++ modernization breaking changes
2018-06-27 23:02:06 -06:00
Michael Scire
ba805d2c8a
libstratosphere: Cleanup resources when doing OutSession for domains.
2018-06-24 12:39:09 -06:00
Tony Wasserka
1b356cd4f2
Modernize C++ usage ( #144 )
...
* Stratosphere: Use modern C++ idioms in some places
* algorithms like std::for_each are used instead of raw loops
* Stratosphere: Replace more raw loops with algorithms
* Stratosphere: Add a utility predicate function to test for equality with a reference element
This can be used to rewrite some common raw loops using algorithms instead
* fs.mitm: Use variant
* fs.mitm: Use enum class
* fs.mitm: Turn RomFSSourceInfo::Cleanup into a destructor
This obsoletes the need for a custom deleter in other places
* fs.mitm: Use enum class some more
* fs.mitm: Use unique_ptr
* fs.mitm: Simplify initialization
* Stratosphere: Simplify initialization
* fs.mitm: Use unique_ptr (fix memory leak along the way)
The previous code was using "delete" rather than "delete[]"
* fs.mitm: Use vector::emplace_back rather than push_back
emplace_back constructs elements in-place, hence avoiding a redundant element copy.
* Stratosphere: Replace more raw loops with algorithms
* Stratosphere: Use unique_ptr
* fs.mitm: Replace more raw loops with algorithms
* Stratosphere: Prefer move-construction over copy-construction when moving sink parameters around
2018-06-19 11:07:31 -07:00
Michael Scire
eb02ff5d5f
Make PM Compile. Note: Currently broken.
2018-06-14 23:32:01 -06:00
Michael Scire
26e676424d
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
cd5da88405
libstratosphere/fs.mitm: Push WIP support for Domains. Not yet fully working.
2018-06-12 16:01:04 -06:00
Michael Scire
5f10855b57
fs.mitm: Add HANS-style redirection for System Data Archives.
2018-06-10 11:11:23 -06:00
Michael Scire
581d3de04f
fs.mitm: Get Title ID on fsp-srv init, Add worker to handle subinterfaces.
2018-06-10 03:07:15 -06:00
Tony Wasserka
76b1f49766
Use "final" and "override" where appropriate ( #117 )
2018-06-02 22:46:27 -07:00
TuxSH
59d7f41ca5
Ignore unused-but-set-variable in ipc_templating.h
2018-05-15 00:44:10 +02:00
Michael Scire
02c17a47cb
libstratosphere: Make boolean autoparsing match official semantics.
2018-05-07 07:22:41 -06:00
Michael Scire
389a69b79f
ProcessManager: Fix Synchronization. Now works on 1.0.0 hardware.
2018-05-06 23:00:05 -06:00
Léo Lam
24860d83a9
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
Léo Lam
e2fbbbeb4e
ipc_templating: Avoid depending on order of evaluation ( #83 )
...
f(x, x++) is unspecified behaviour in C++. An implementation could
evaluate arguments from left to right or from right to left.
`T(r.Buffers[a_index], r.BufferSizes[a_index++])` might
access the wrong buffer if `a_index++` is evaluated before the first
argument.
Fixes -Wsequence-point warnings
2018-05-05 11:41:08 -07:00
Michael Scire
b657d4adb5
ProcessManager: Implement core process management logic.
2018-05-03 23:58:37 -06:00
Michael Scire
af6d60d06c
ProcessManager: Fill out ProcessTracking::Initialize()
2018-05-03 16:15:12 -06:00
Michael Scire
90c7f03a9d
Stratosphere: Add IPC templating for non-member functions.
2018-05-03 03:14:48 -06:00
Michael Scire
43c8f417e0
Loader: Fix bugs ldr:ro, Loader now works fully on hardware.
2018-05-02 01:39:24 -06:00
Michael Scire
309a4607dd
Stratosphere: Fix IServer constructors. SM is fully functional on hardware now.
2018-04-22 05:13:33 -06:00
Michael Scire
d772b823c6
Stratosphere: Implement support for deferred commands. Finish sm GetService()'s deferred path.
2018-04-22 03:02:19 -06:00
Michael Scire
1e35599dbe
Add ExistingPortServer to libstratosphere
2018-04-22 00:33:09 -06:00
Michael Scire
6df38e0053
Stratosphere: Move boost/callable_traits into libstratosphere
2018-04-21 21:15:54 -06:00
Michael Scire
a6f993f611
Stratosphere: ServiceServer<T> -> IServer<T> as abstract base class.
2018-04-21 20:57:24 -06:00
Michael Scire
39e9d0cb5f
IPC templating style fix
2018-04-21 20:38:13 -06:00
Michael Scire
5a8df9f128
Stratosphere: extract common code to libstratosphere.
2018-04-21 20:31:06 -06:00