Commit Graph

813 Commits

Author SHA1 Message Date
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
0351b32b27 Stratosphere: Fix remaining bugs in sm, which now works as a KIP1 on hardware 2018-04-30 22:27:26 -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