Commit Graph

12 Commits

Author SHA1 Message Date
Léo Lam
cf50bad36c 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
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
b5412df53b Stratosphere: Add IPC templating for non-member functions. 2018-05-03 03:14:48 -06:00
Michael Scire
9e03852703 Loader: Fix bugs ldr:ro, Loader now works fully on hardware. 2018-05-02 01:39:24 -06:00
Michael Scire
ecf2517bd5 Stratosphere: Fix IServer constructors. SM is fully functional on hardware now. 2018-04-22 05:13:33 -06:00
Michael Scire
674528b246 Stratosphere: Implement support for deferred commands. Finish sm GetService()'s deferred path. 2018-04-22 03:02:19 -06:00
Michael Scire
080816f2b6 Add ExistingPortServer to libstratosphere 2018-04-22 00:33:09 -06:00
Michael Scire
7dc5a5914b Stratosphere: Move boost/callable_traits into libstratosphere 2018-04-21 21:15:54 -06:00
Michael Scire
044d367eda Stratosphere: ServiceServer<T> -> IServer<T> as abstract base class. 2018-04-21 20:57:24 -06:00
Michael Scire
4aa93ad354 IPC templating style fix 2018-04-21 20:38:13 -06:00
Michael Scire
b81ceeca21 Stratosphere: extract common code to libstratosphere. 2018-04-21 20:31:06 -06:00