Commit graph

601 commits

Author SHA1 Message Date
Michael Scire
3e36e81e80 Loader: Fix bugs in CreateProcess(), which now succeeds on hardware (1.0.0) 2018-04-24 17:56:32 -06:00
Michael Scire
195528adc6 Loader: Fix type definitions in picosha2.hpp 2018-04-24 06:55:54 -06:00
Michael Scire
e443b625ec Loader: Finish Loader::CreateProcess(). 2018-04-24 06:52:13 -06:00
Michael Scire
ba90d0f250 Loader: Include picosha2 as a SHA256 generator. 2018-04-24 06:28:57 -06:00
Michael Scire
80fedc51c1 Loader: Implement all remaining parts of CreateProcess except LoadNsoSegment. 2018-04-24 06:25:31 -06:00
Michael Scire
ee9bfd514c Loader: Implement argument passing. 2018-04-24 06:14:04 -06:00
Michael Scire
a96f862f11 Loader: Implement most of LoadNsosIntoProcessMemory 2018-04-24 06:01:32 -06:00
Michael Scire
d09c48c6c7 Loader: Implement RandomUtils (for ASLR) 2018-04-24 05:05:04 -06:00
Michael Scire
b11c2fe755 Loader: Implement NSO Extent calculation (note: ASLR currently disabled due to lack of entropy source.) 2018-04-24 04:41:29 -06:00
Michael Scire
6afd59d2a2 Loader: Implement mappable-region locating functions. 2018-04-24 03:53:10 -06:00
Michael Scire
5e5dd530c7 Clean up Nso fopen semantics 2018-04-24 03:14:40 -06:00
Michael Scire
1c47959bca Loader: Call svcCreateProcess() 2018-04-24 02:12:19 -06:00
Michael Scire
2d6445d2f9 Loader: Implement InitializeProcessInfo() 2018-04-24 02:08:11 -06:00
Michael Scire
7227817b99 Loader: Fix off-by-one in SDK nso header loading. 2018-04-23 20:10:01 -06:00
Michael Scire
73b6225d2e Loader: Add Nso Header loading, loadset validation in CreateProcess 2018-04-23 20:05:22 -06:00
Michael Scire
16439fd336 Loader: Fix KAC parsing infloop. 2018-04-23 18:29:23 -06:00
Michael Scire
5a7f9f10b1 Loader: Remove Kernel Caps parsing TODO. 2018-04-23 18:25:03 -06:00
Michael Scire
c9a40f358a Loader: Implement Kernel Capability parsing/validation. 2018-04-23 18:24:02 -06:00
Michael Scire
0e11788e43 Stratosphere: Make TODOs for Loader::CreateProcess(). 2018-04-23 13:34:32 -06:00
Naomi Peori
0075a42d39 Changed PACKAGE2_MAXVER_400_CURRENT to PACKAGE2_MAXVER_400_410. (#64)
* Changed PACKAGE2_MAXVER_400_CURRENT to PACKAGE2_MAXVER_400_410.

* Added top-level makefile and a .gitignore for thermosphere build files.
2018-04-23 11:07:49 -07:00
Michael Scire
8114a52d13 Stratosphere: Update sm.json to use new JSON format for elf2kip 2018-04-23 01:06:37 -06:00
Michael Scire
86d9f51e8a Stratosphere: Add sm.json for elf2kip 2018-04-23 00:33:30 -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
809090e40d Stratosphere: Fix smhax. 2018-04-22 01:13:36 -06:00
Michael Scire
c8ef305880 Stratosphere: Create sm:m internally for sm, instead of using IPC. 2018-04-22 00:33:16 -06:00
Michael Scire
080816f2b6 Add ExistingPortServer to libstratosphere 2018-04-22 00:33:09 -06:00
Michael Scire
f1cf6dcf97 Implement all of sm. 2018-04-22 00:11:57 -06:00
Michael Scire
61cbb0f86e Stratosphere: Implement sm:->Initialize() 2018-04-21 21:40:26 -06:00
Michael Scire
d0ef3b1c71 Stratosphere: Skeleton all services for sm. 2018-04-21 21:17:57 -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
Michael Scire
6a51ce25b3 Stratosphere: Skeleton create process up through the ProcessCreation::CreateProcess() call 2018-04-21 19:52:49 -06:00
Michael Scire
878d68f7e0 Stratosphere: Add handle/pid output to IPC templating, fix failure condition message preparation. 2018-04-21 05:17:31 -06:00
Michael Scire
b6ba7b94b9 Stratosphere: Implement ldr:pm->GetProgramInfo() 2018-04-20 23:58:42 -06:00
Michael Scire
0fb107fb86 Stratosphere: Add arguments to GetProgramInfo 2018-04-20 21:38:51 -06:00
Michael Scire
b69c6eff15 Fix padding for C descriptors 2018-04-20 21:06:32 -06:00
Michael Scire
a127233e41 Adjust padding for C descriptor size parsing 2018-04-20 21:03:26 -06:00
Michael Scire
7a2cfa4d60 Stratosphere: Add WrapIpcCommandImpl templating. 2018-04-20 19:34:39 -06:00
Kate J. Temkin
b5d3ce04e8 fusee: fix missing volatiles in memory utils 2018-04-20 19:12:20 -06:00
Kate J. Temkin
d104ff61ca thermosphere: add in basic hypervisor skeleton 2018-04-20 04:10:44 -06:00
Kate J. Temkin
60c0df032d fusee: update header names for starting cpu0 2018-04-20 04:10:44 -06:00
Michael Scire
271272e13b Stratosphere: Fix IPC rawdata out size, QueryPointerBufferSize works on hardware now. 2018-04-19 16:53:09 -06:00
Michael Scire
eded273328 Fix IpcControlCommand enum member name 2018-04-19 16:41:51 -06:00
Michael Scire
3aa51a375d Stratosphere: Skeleton more Control Command, implement QueryPointerBufferSize 2018-04-19 16:40:05 -06:00
Michael Scire
71427677cc Fix indentation 2018-04-19 16:29:44 -06:00
Michael Scire
0267a1ad71 Stratosphere: Skeleton framework for auto-hipc manager responses for IpcCommandType != Request 2018-04-19 16:28:19 -06:00
Michael Scire
b843938b1a Stratosphere: Implement ldr:dmnt->GetNsoInfos() 2018-04-19 16:14:48 -06:00